1 # This file is configured at cmake time, and loaded at cpack time.
2 # To pass variables to cpack from cmake, they must be configured
5 if(CPACK_GENERATOR MATCHES "NSIS")
6 set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
8 # set the install/unistall icon used for the installer itself
9 # There is a bug in NSI that does not handle full unix paths properly.
10 set(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
11 set(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
12 # set the package header icon for MUI
13 set(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp")
14 # tell cpack to create links to the doc files
15 set(CPACK_NSIS_MENU_LINKS
16 "@CMAKE_DOC_DIR@/html/index.html" "CMake Documentation"
17 "https://cmake.org" "CMake Web Site"
19 # Use the icon from cmake-gui for add-remove programs
20 set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
22 set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
23 set(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, a cross-platform, open-source build system")
24 set(CPACK_NSIS_HELP_LINK "https://cmake.org")
25 set(CPACK_NSIS_URL_INFO_ABOUT "http://www.kitware.com")
26 set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
27 set(CPACK_NSIS_MODIFY_PATH ON)
30 # include the cpack options for qt dialog if they exist
31 # they might not if qt was not enabled for the build
32 include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
34 if(CPACK_GENERATOR MATCHES "IFW")
36 # Installer configuration
37 set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool")
38 set(CPACK_IFW_PRODUCT_URL "https://cmake.org")
39 @_CPACK_IFW_PACKAGE_ICON@
40 set(CPACK_IFW_PACKAGE_WINDOW_ICON
41 "@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png")
42 set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT
43 "@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs")
45 # Uninstaller configuration
46 set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
47 @_CPACK_IFW_COMPONENTS_CONFIGURATION@
49 set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
50 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
52 # Package configuration group
53 set(CPACK_IFW_PACKAGE_GROUP CMake)
58 set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME
59 "@CPACK_PACKAGE_NAME@")
60 set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
61 "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
62 @_CPACK_IFW_COMPONENT_GROUP_CMAKE@
65 set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
66 set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION
67 "Command-Line Tools: cmake, ctest and cpack")
68 set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
69 set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
70 set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION
71 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
73 set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
74 set(CPACK_COMPONENT_CMAKE_DESCRIPTION
75 "The \"cmake\" executable is the CMake command-line interface")
76 set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE)
77 set(CPACK_COMPONENT_CMAKE_GROUP Tools)
78 set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
79 set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
80 set(CPACK_IFW_COMPONENT_CMAKE_VERSION
81 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
83 set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
84 set(CPACK_COMPONENT_CTEST_DESCRIPTION
85 "The \"ctest\" executable is the CMake test driver program")
86 set(CPACK_COMPONENT_CTEST_REQUIRED TRUE)
87 set(CPACK_COMPONENT_CTEST_GROUP Tools)
88 set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
89 set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
90 set(CPACK_IFW_COMPONENT_CTEST_VERSION
91 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
93 set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
94 set(CPACK_COMPONENT_CPACK_DESCRIPTION
95 "The \"cpack\" executable is the CMake packaging program")
96 set(CPACK_COMPONENT_CPACK_REQUIRED TRUE)
97 set(CPACK_COMPONENT_CPACK_GROUP Tools)
98 set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
99 set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
100 set(CPACK_IFW_COMPONENT_CPACK_VERSION
101 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
103 set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps")
104 set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION
105 "The \"cmcldeps\" executable is wrapper around \"cl\" program")
106 set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools)
107 set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps")
108 set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86)
109 set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION
110 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
112 set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
113 set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
114 "The \"cmakexbuild\" executable is a wrapper program for \"xcodebuild\"")
115 set(CPACK_COMPONENT_CMAKEXBUILD_REQUIRED TRUE)
116 set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
117 set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
118 set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 85)
119 set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION
120 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
123 set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
124 set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
125 "Interactive Dialogs with Console and GUI interfaces")
126 set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
127 set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
128 set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION
129 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
131 set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
132 set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
133 set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
134 set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
135 "@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs")
136 set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION
137 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
138 @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
140 set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
141 set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
142 set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
143 set(CPACK_IFW_COMPONENT_CCMAKE_VERSION
144 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
147 set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
148 set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
149 "CMake Documentation in different formats (html, man, qch)")
150 set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
151 set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
152 set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
153 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
155 set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
156 set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
157 set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
158 set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
159 set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION
160 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
162 set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
163 set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
164 set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
165 set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
166 "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
167 set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION
168 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
170 set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
171 set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
172 set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
173 set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
174 set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
175 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
177 set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
178 set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
179 set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
180 set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
181 set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION
182 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
184 # Developer Reference
185 set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
186 set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION
187 "CMake Reference in different formats (html, qch)")
188 set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
189 set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
190 set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
191 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
193 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
194 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
195 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE)
196 set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
197 set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
198 "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
199 set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION
200 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
202 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
203 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
204 set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
205 set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
206 set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION
207 "@CMake_IFW_ROOT_COMPONENT_VERSION@")
211 if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
212 if(CMAKE_PACKAGE_QTGUI)
213 set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
215 set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
219 if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
220 set(CPACK_DMG_BACKGROUND_IMAGE
221 "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif")
222 set(CPACK_DMG_DS_STORE_SETUP_SCRIPT
223 "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt")
226 if("${CPACK_GENERATOR}" STREQUAL "WIX")
227 # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
228 # But the file names still use the full CMake_VERSION value:
229 set(CPACK_PACKAGE_FILE_NAME
230 "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
231 set(CPACK_SOURCE_PACKAGE_FILE_NAME
232 "cmake-@CMake_VERSION@")
234 if(NOT CPACK_WIX_SIZEOF_VOID_P)
235 set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
238 set(CPACK_PACKAGE_VERSION
239 "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
240 # WIX installers require at most a 4 component version number, where
241 # each component is an integer between 0 and 65534 inclusive
242 set(patch "@CMake_VERSION_PATCH@")
243 if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
244 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
247 set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
249 set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")
251 set(CPACK_WIX_PROPERTY_ARPCOMMENTS
252 "CMake is a cross-platform, open-source build system."
255 set(CPACK_WIX_PRODUCT_ICON
256 "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
259 set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
260 CPACK_START_MENU_SHORTCUTS "CMake Documentation"
263 set_property(INSTALL "cmake.org.html" PROPERTY
264 CPACK_START_MENU_SHORTCUTS "CMake Web Site"
267 set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
269 set(CPACK_WIX_UI_BANNER
270 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
273 set(CPACK_WIX_UI_DIALOG
274 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
277 set(CPACK_WIX_EXTRA_SOURCES
278 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
279 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs"
282 set(_WIX_CUSTOM_ACTION_ENABLED "@WIX_CUSTOM_ACTION_ENABLED@")
283 if(_WIX_CUSTOM_ACTION_ENABLED)
284 list(APPEND CPACK_WIX_EXTRA_SOURCES
285 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs"
287 list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dCHECK_NSIS=1)
289 set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@WIX_CUSTOM_ACTION_MULTI_CONFIG@")
290 if(_WIX_CUSTOM_ACTION_MULTI_CONFIG)
291 if(CPACK_BUILD_CONFIG)
292 set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}")
294 set(_WIX_CUSTOM_ACTION_CONFIG "Release")
297 list(APPEND CPACK_WIX_EXTRA_SOURCES
298 "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs")
300 list(APPEND CPACK_WIX_EXTRA_SOURCES
301 "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs")
305 set(CPACK_WIX_UI_REF "CMakeUI_InstallDir")
307 set(CPACK_WIX_PATCH_FILE
308 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
311 set(CPACK_WIX_TEMPLATE
312 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in"
315 set(BUILD_QtDialog "@BUILD_QtDialog@")
318 list(APPEND CPACK_WIX_PATCH_FILE
319 "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
321 list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dBUILD_QtDialog=1)