resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / CMakeCPackOptions.cmake.in
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
3 # in this file.
4
5 if(CPACK_GENERATOR MATCHES "NSIS")
6   set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
7
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"
18     )
19   # Use the icon from cmake-gui for add-remove programs
20   set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
21
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)
28 endif()
29
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)
33
34 if(CPACK_GENERATOR MATCHES "IFW")
35
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")
44
45   # Uninstaller configuration
46   set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
47   @_CPACK_IFW_COMPONENTS_CONFIGURATION@
48   # Unspecified
49   set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
50     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
51
52   # Package configuration group
53   set(CPACK_IFW_PACKAGE_GROUP CMake)
54
55   # Group configuration
56
57   # 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@
63
64   # Tools
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@")
72
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@")
82
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@")
92
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@")
102
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@")
111
112   # Dialogs
113   set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
114   set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
115     "Interactive Dialogs with Console and GUI interfaces")
116   set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
117   set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
118   set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION
119     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
120
121   set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
122   set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
123   set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
124   set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
125     "@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs")
126   set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION
127     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
128   @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
129
130   set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
131   set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
132   set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
133   set(CPACK_IFW_COMPONENT_CCMAKE_VERSION
134     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
135
136   # Documentation
137   set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
138   set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
139     "CMake Documentation in different formats (html, man, qch)")
140   set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
141   set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
142   set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
143     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
144
145   set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
146   set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
147   set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
148   set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
149   set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION
150     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
151
152   set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
153   set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
154   set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
155   set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
156     "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
157   set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION
158     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
159
160   set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
161   set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
162   set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
163   set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
164   set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
165     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
166
167   set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
168   set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
169   set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
170   set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
171   set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION
172     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
173
174   # Developer Reference
175   set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
176   set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION
177     "CMake Reference in different formats (html, qch)")
178   set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
179   set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
180   set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
181     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
182
183   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
184   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
185   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE)
186   set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
187   set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
188     "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
189   set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION
190     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
191
192   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
193   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
194   set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
195   set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
196   set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION
197     "@CMake_IFW_ROOT_COMPONENT_VERSION@")
198
199 endif()
200
201 if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
202   set(CPACK_DMG_BACKGROUND_IMAGE
203       "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif")
204   set(CPACK_DMG_DS_STORE_SETUP_SCRIPT
205       "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt")
206 endif()
207
208 if("${CPACK_GENERATOR}" STREQUAL "WIX")
209   # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
210   # But the file names still use the full CMake_VERSION value:
211   set(CPACK_PACKAGE_FILE_NAME
212     "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
213   set(CPACK_SOURCE_PACKAGE_FILE_NAME
214     "cmake-@CMake_VERSION@")
215
216   if(NOT CPACK_WIX_SIZEOF_VOID_P)
217     set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
218   endif()
219
220   set(CPACK_PACKAGE_VERSION
221     "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
222   # WIX installers require at most a 4 component version number, where
223   # each component is an integer between 0 and 65534 inclusive
224   set(patch "@CMake_VERSION_PATCH@")
225   if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
226     set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
227   endif()
228
229   set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
230
231   set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")
232
233   set(CPACK_WIX_PROPERTY_ARPCOMMENTS
234     "CMake is a cross-platform, open-source build system."
235   )
236
237   set(CPACK_WIX_PRODUCT_ICON
238     "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
239   )
240
241   set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
242     CPACK_START_MENU_SHORTCUTS "CMake Documentation"
243   )
244
245   set_property(INSTALL "cmake.org.html" PROPERTY
246     CPACK_START_MENU_SHORTCUTS "CMake Web Site"
247   )
248
249   set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
250
251   if(NOT "$ENV{CMAKE_CI_PACKAGE}" STREQUAL "")
252     # Suppress validation.  It does not work without
253     # an interactive session or an admin account.
254     # https://github.com/wixtoolset/issues/issues/3968
255     list(APPEND CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval")
256   endif()
257
258   set(CPACK_WIX_UI_BANNER
259     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
260   )
261
262   set(CPACK_WIX_UI_DIALOG
263     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
264   )
265
266   set(CPACK_WIX_EXTRA_SOURCES
267     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
268     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs"
269   )
270
271   set(_WIX_CUSTOM_ACTION_ENABLED "@WIX_CUSTOM_ACTION_ENABLED@")
272   if(_WIX_CUSTOM_ACTION_ENABLED)
273     list(APPEND CPACK_WIX_EXTRA_SOURCES
274       "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs"
275       )
276     list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dCHECK_NSIS=1)
277
278     set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@WIX_CUSTOM_ACTION_MULTI_CONFIG@")
279     if(_WIX_CUSTOM_ACTION_MULTI_CONFIG)
280       if(CPACK_BUILD_CONFIG)
281         set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}")
282       else()
283         set(_WIX_CUSTOM_ACTION_CONFIG "Release")
284       endif()
285
286       list(APPEND CPACK_WIX_EXTRA_SOURCES
287         "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs")
288     else()
289       list(APPEND CPACK_WIX_EXTRA_SOURCES
290         "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs")
291     endif()
292   endif()
293
294   set(CPACK_WIX_UI_REF "CMakeUI_InstallDir")
295
296   set(CPACK_WIX_PATCH_FILE
297     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
298   )
299
300   set(CPACK_WIX_TEMPLATE
301     "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in"
302   )
303
304   set(BUILD_QtDialog "@BUILD_QtDialog@")
305
306   if(BUILD_QtDialog)
307     list(APPEND CPACK_WIX_PATCH_FILE
308       "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
309       )
310     list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dBUILD_QtDialog=1)
311   endif()
312 endif()