| # This file is configured at cmake time, and loaded at cpack time. |
| # To pass variables to cpack from cmake, they must be configured |
| # in this file. |
| |
| if(CPACK_GENERATOR MATCHES "NSIS") |
| set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@") |
| |
| # set the install/unistall icon used for the installer itself |
| # There is a bug in NSI that does not handle full unix paths properly. |
| set(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico") |
| set(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico") |
| # set the package header icon for MUI |
| set(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp") |
| # tell cpack to create links to the doc files |
| set(CPACK_NSIS_MENU_LINKS |
| "@CMAKE_DOC_DIR@/html/index.html" "CMake Documentation" |
| "https://cmake.org" "CMake Web Site" |
| ) |
| # Use the icon from cmake-gui for add-remove programs |
| set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe") |
| |
| set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@") |
| set(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, a cross-platform, open-source build system") |
| set(CPACK_NSIS_HELP_LINK "https://cmake.org") |
| set(CPACK_NSIS_URL_INFO_ABOUT "http://www.kitware.com") |
| set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@) |
| set(CPACK_NSIS_MODIFY_PATH ON) |
| endif() |
| |
| # include the cpack options for qt dialog if they exist |
| # they might not if qt was not enabled for the build |
| include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL) |
| |
| if(CPACK_GENERATOR MATCHES "IFW") |
| |
| # Installer configuration |
| set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool") |
| set(CPACK_IFW_PRODUCT_URL "https://cmake.org") |
| @_CPACK_IFW_PACKAGE_ICON@ |
| set(CPACK_IFW_PACKAGE_WINDOW_ICON |
| "@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png") |
| set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT |
| "@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs") |
| |
| # Uninstaller configuration |
| set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance") |
| @_CPACK_IFW_COMPONENTS_CONFIGURATION@ |
| # Unspecified |
| set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| # Package configuration group |
| set(CPACK_IFW_PACKAGE_GROUP CMake) |
| |
| # Group configuration |
| |
| # CMake |
| set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME |
| "@CPACK_PACKAGE_NAME@") |
| set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION |
| "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@") |
| @_CPACK_IFW_COMPONENT_GROUP_CMAKE@ |
| |
| # Tools |
| set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools") |
| set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION |
| "Command-Line Tools: cmake, ctest and cpack") |
| set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake) |
| set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90) |
| set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake") |
| set(CPACK_COMPONENT_CMAKE_DESCRIPTION |
| "The \"cmake\" executable is the CMake command-line interface") |
| set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE) |
| set(CPACK_COMPONENT_CMAKE_GROUP Tools) |
| set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake") |
| set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89) |
| set(CPACK_IFW_COMPONENT_CMAKE_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest") |
| set(CPACK_COMPONENT_CTEST_DESCRIPTION |
| "The \"ctest\" executable is the CMake test driver program") |
| set(CPACK_COMPONENT_CTEST_REQUIRED TRUE) |
| set(CPACK_COMPONENT_CTEST_GROUP Tools) |
| set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest") |
| set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88) |
| set(CPACK_IFW_COMPONENT_CTEST_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack") |
| set(CPACK_COMPONENT_CPACK_DESCRIPTION |
| "The \"cpack\" executable is the CMake packaging program") |
| set(CPACK_COMPONENT_CPACK_REQUIRED TRUE) |
| set(CPACK_COMPONENT_CPACK_GROUP Tools) |
| set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack") |
| set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87) |
| set(CPACK_IFW_COMPONENT_CPACK_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps") |
| set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION |
| "The \"cmcldeps\" executable is wrapper around \"cl\" program") |
| set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools) |
| set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps") |
| set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86) |
| set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| # Dialogs |
| set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs") |
| set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION |
| "Interactive Dialogs with Console and GUI interfaces") |
| set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake) |
| set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80) |
| set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui") |
| set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs) |
| set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI") |
| set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT |
| "@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs") |
| set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@ |
| |
| set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake") |
| set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs) |
| set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI") |
| set(CPACK_IFW_COMPONENT_CCMAKE_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| # Documentation |
| set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation") |
| set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION |
| "CMake Documentation in different formats (html, man, qch)") |
| set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake) |
| set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60) |
| set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man") |
| set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation) |
| set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE) |
| set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan") |
| set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML") |
| set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation) |
| set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML") |
| set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT |
| "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs") |
| set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML") |
| set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation) |
| set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE) |
| set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML") |
| set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help") |
| set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation) |
| set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE) |
| set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp") |
| set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| # Developer Reference |
| set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference") |
| set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION |
| "CMake Reference in different formats (html, qch)") |
| set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake) |
| set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50) |
| set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML") |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference) |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE) |
| set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML") |
| set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT |
| "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs") |
| set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help") |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference) |
| set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE) |
| set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp") |
| set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION |
| "@CMake_IFW_ROOT_COMPONENT_VERSION@") |
| |
| endif() |
| |
| if("${CPACK_GENERATOR}" STREQUAL "DragNDrop") |
| set(CPACK_DMG_BACKGROUND_IMAGE |
| "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif") |
| set(CPACK_DMG_DS_STORE_SETUP_SCRIPT |
| "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt") |
| endif() |
| |
| if("${CPACK_GENERATOR}" STREQUAL "WIX") |
| # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction. |
| # But the file names still use the full CMake_VERSION value: |
| set(CPACK_PACKAGE_FILE_NAME |
| "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}") |
| set(CPACK_SOURCE_PACKAGE_FILE_NAME |
| "cmake-@CMake_VERSION@") |
| |
| if(NOT CPACK_WIX_SIZEOF_VOID_P) |
| set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@") |
| endif() |
| |
| set(CPACK_PACKAGE_VERSION |
| "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@") |
| # WIX installers require at most a 4 component version number, where |
| # each component is an integer between 0 and 65534 inclusive |
| set(patch "@CMake_VERSION_PATCH@") |
| if(patch MATCHES "^[0-9]+$" AND patch LESS 65535) |
| set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}") |
| endif() |
| |
| set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org") |
| |
| set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@") |
| |
| set(CPACK_WIX_PROPERTY_ARPCOMMENTS |
| "CMake is a cross-platform, open-source build system." |
| ) |
| |
| set(CPACK_WIX_PRODUCT_ICON |
| "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico" |
| ) |
| |
| set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY |
| CPACK_START_MENU_SHORTCUTS "CMake Documentation" |
| ) |
| |
| set_property(INSTALL "cmake.org.html" PROPERTY |
| CPACK_START_MENU_SHORTCUTS "CMake Web Site" |
| ) |
| |
| set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high") |
| |
| if(NOT "$ENV{CMAKE_CI_PACKAGE}" STREQUAL "") |
| # Suppress validation. It does not work without |
| # an interactive session or an admin account. |
| # https://github.com/wixtoolset/issues/issues/3968 |
| list(APPEND CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval") |
| endif() |
| |
| set(CPACK_WIX_UI_BANNER |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg" |
| ) |
| |
| set(CPACK_WIX_UI_DIALOG |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg" |
| ) |
| |
| set(CPACK_WIX_EXTRA_SOURCES |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs" |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs" |
| ) |
| |
| set(_WIX_CUSTOM_ACTION_ENABLED "@WIX_CUSTOM_ACTION_ENABLED@") |
| if(_WIX_CUSTOM_ACTION_ENABLED) |
| list(APPEND CPACK_WIX_EXTRA_SOURCES |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs" |
| ) |
| list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dCHECK_NSIS=1) |
| |
| set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@WIX_CUSTOM_ACTION_MULTI_CONFIG@") |
| if(_WIX_CUSTOM_ACTION_MULTI_CONFIG) |
| if(CPACK_BUILD_CONFIG) |
| set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}") |
| else() |
| set(_WIX_CUSTOM_ACTION_CONFIG "Release") |
| endif() |
| |
| list(APPEND CPACK_WIX_EXTRA_SOURCES |
| "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs") |
| else() |
| list(APPEND CPACK_WIX_EXTRA_SOURCES |
| "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs") |
| endif() |
| endif() |
| |
| set(CPACK_WIX_UI_REF "CMakeUI_InstallDir") |
| |
| set(CPACK_WIX_PATCH_FILE |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml" |
| ) |
| |
| set(CPACK_WIX_TEMPLATE |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in" |
| ) |
| |
| set(BUILD_QtDialog "@BUILD_QtDialog@") |
| |
| if(BUILD_QtDialog) |
| list(APPEND CPACK_WIX_PATCH_FILE |
| "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml" |
| ) |
| list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dBUILD_QtDialog=1) |
| endif() |
| endif() |