Skip to content
  • David Cole's avatar
    ENH: Further refinement of the CPack components functionality from Doug Gregor. · 83ec8c35
    David Cole authored
    Details:
    ==========
    
     - New cpack_add_component, cpack_add_component_group, and
    cpack_add_install_type "commands" defined as macros in the CPack
    module.
     - Documentation for all of the variables and commands in the CPack module.
     - Added get_cmake_property(... COMPONENTS) to CMake to ask for the
    names of all components. Used in the CPack module to automatically
    build component-based installers. (Set CPACK_MONOLITHIC_INSTALL to
    turn off component-based installation).
     - A group can declare its PARENT_GROUP, to build an arbitrary
    hierarchy of groups.
     - New CPack command cpack_configure_downloads, which creates an
    installer that downloads only the selected components on-the-fly.
    Those components marked DOWNLOADED will be separate packages
    downloaded on-the-fly (or, all packages can be marked as such with the
    ALL option to cpack_configure_downloads). Individual components are
    compressed with ZIP at installer-creation time and
    downloaded/uncompressed by the installer as needed. This feature is
    only available on Windows with NSIS at the moment.
     - NSIS installers can install themselves and enable the "Change"
    button in Add/Remove programs, allowing users to go back and install
    or remove components. This can be disabled through
    cpack_configure_downloads, because it's only really useful is most of
    the application's functionality is in downloaded components.
     - Bug fix: automatically install everything whose COMPONENT was not
    specified (it's a hidden, required group)
     - Bug fix: fixed removal of components when re-running the NSIS
    installer and unchecking components
     - Bug fix: NSIS installers now only install/remove the minimal
    number of files when re-run to update the installation (or by clicking
    "Change" in Add/Remove programs)
    83ec8c35