CMakeCPackOptions.cmake.in 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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. if(CPACK_GENERATOR MATCHES "NSIS")
  5. set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
  6. # set the install/uninstall icon used for the installer itself
  7. # There is a bug in NSI that does not handle full unix paths properly.
  8. set(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
  9. set(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
  10. # set the package header icon for MUI
  11. set(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp")
  12. # tell cpack to create links to the doc files
  13. set(CPACK_NSIS_MENU_LINKS
  14. "@CMAKE_DOC_DIR@/html/index.html" "CMake Documentation"
  15. "https://cmake.org" "CMake Web Site"
  16. )
  17. # Use the icon from cmake-gui for add-remove programs
  18. set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
  19. set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
  20. set(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, a cross-platform, open-source build system")
  21. set(CPACK_NSIS_HELP_LINK "https://cmake.org")
  22. set(CPACK_NSIS_URL_INFO_ABOUT "http://www.kitware.com")
  23. set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
  24. set(CPACK_NSIS_MODIFY_PATH ON)
  25. endif()
  26. # include the cpack options for qt dialog if they exist
  27. # they might not if qt was not enabled for the build
  28. include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
  29. if(CPACK_GENERATOR MATCHES "IFW")
  30. # Installer configuration
  31. set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool")
  32. set(CPACK_IFW_PRODUCT_URL "https://cmake.org")
  33. @_CPACK_IFW_PACKAGE_ICON@
  34. set(CPACK_IFW_PACKAGE_WINDOW_ICON
  35. "@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png")
  36. set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT
  37. "@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs")
  38. # Uninstaller configuration
  39. set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
  40. @_CPACK_IFW_COMPONENTS_CONFIGURATION@
  41. # Unspecified
  42. set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
  43. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  44. # Package configuration group
  45. set(CPACK_IFW_PACKAGE_GROUP CMake)
  46. # Group configuration
  47. # CMake
  48. set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME
  49. "@CPACK_PACKAGE_NAME@")
  50. set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
  51. "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
  52. @_CPACK_IFW_COMPONENT_GROUP_CMAKE@
  53. # Tools
  54. set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
  55. set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION
  56. "Command-Line Tools: cmake, ctest and cpack")
  57. set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
  58. set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
  59. set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION
  60. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  61. set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
  62. set(CPACK_COMPONENT_CMAKE_DESCRIPTION
  63. "The \"cmake\" executable is the CMake command-line interface")
  64. set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE)
  65. set(CPACK_COMPONENT_CMAKE_GROUP Tools)
  66. set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
  67. set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
  68. set(CPACK_IFW_COMPONENT_CMAKE_VERSION
  69. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  70. set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
  71. set(CPACK_COMPONENT_CTEST_DESCRIPTION
  72. "The \"ctest\" executable is the CMake test driver program")
  73. set(CPACK_COMPONENT_CTEST_REQUIRED TRUE)
  74. set(CPACK_COMPONENT_CTEST_GROUP Tools)
  75. set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
  76. set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
  77. set(CPACK_IFW_COMPONENT_CTEST_VERSION
  78. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  79. set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
  80. set(CPACK_COMPONENT_CPACK_DESCRIPTION
  81. "The \"cpack\" executable is the CMake packaging program")
  82. set(CPACK_COMPONENT_CPACK_REQUIRED TRUE)
  83. set(CPACK_COMPONENT_CPACK_GROUP Tools)
  84. set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
  85. set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
  86. set(CPACK_IFW_COMPONENT_CPACK_VERSION
  87. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  88. set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps")
  89. set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION
  90. "The \"cmcldeps\" executable is wrapper around \"cl\" program")
  91. set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools)
  92. set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps")
  93. set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86)
  94. set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION
  95. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  96. # Dialogs
  97. set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
  98. set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
  99. "Interactive Dialogs with Console and GUI interfaces")
  100. set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
  101. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
  102. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION
  103. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  104. set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
  105. set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
  106. set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
  107. set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
  108. "@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs")
  109. set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION
  110. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  111. @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
  112. set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
  113. set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
  114. set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
  115. set(CPACK_IFW_COMPONENT_CCMAKE_VERSION
  116. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  117. # Documentation
  118. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
  119. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
  120. "CMake Documentation in different formats (html, man, qch)")
  121. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
  122. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
  123. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
  124. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  125. set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
  126. set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
  127. set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
  128. set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
  129. set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION
  130. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  131. set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
  132. set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
  133. set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
  134. set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
  135. "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
  136. set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION
  137. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  138. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
  139. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
  140. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
  141. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
  142. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
  143. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  144. set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  145. set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
  146. set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
  147. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
  148. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION
  149. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  150. # Developer Reference
  151. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
  152. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION
  153. "CMake Reference in different formats (html, qch)")
  154. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
  155. set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
  156. set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
  157. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  158. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
  159. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
  160. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE)
  161. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
  162. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
  163. "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
  164. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION
  165. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  166. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  167. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
  168. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
  169. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
  170. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION
  171. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  172. endif()
  173. if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
  174. set(CPACK_DMG_BACKGROUND_IMAGE
  175. "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif")
  176. set(CPACK_DMG_DS_STORE_SETUP_SCRIPT
  177. "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt")
  178. endif()
  179. if("${CPACK_GENERATOR}" STREQUAL "WIX")
  180. set(CPACK_WIX_VERSION 4)
  181. set(CPACK_WIX_BUILD_EXTRA_FLAGS "")
  182. # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
  183. # But the file names still use the full CMake_VERSION value:
  184. set(CPACK_PACKAGE_FILE_NAME
  185. "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
  186. set(CPACK_SOURCE_PACKAGE_FILE_NAME
  187. "cmake-@CMake_VERSION@")
  188. if(NOT CPACK_WIX_SIZEOF_VOID_P)
  189. set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
  190. endif()
  191. set(CPACK_PACKAGE_VERSION
  192. "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
  193. # WIX installers require at most a 4 component version number, where
  194. # each component is an integer between 0 and 65534 inclusive
  195. set(patch "@CMake_VERSION_PATCH@")
  196. if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
  197. set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
  198. endif()
  199. set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
  200. set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")
  201. set(CPACK_WIX_PROPERTY_ARPCOMMENTS
  202. "CMake is a cross-platform, open-source build system."
  203. )
  204. set(CPACK_WIX_PRODUCT_ICON
  205. "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
  206. )
  207. set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
  208. CPACK_START_MENU_SHORTCUTS "CMake Documentation"
  209. )
  210. set_property(INSTALL "cmake.org.html" PROPERTY
  211. CPACK_START_MENU_SHORTCUTS "CMake Web Site"
  212. )
  213. list(APPEND CPACK_WIX_BUILD_EXTRA_FLAGS -dcl high)
  214. set(CPACK_WIX_UI_BANNER
  215. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
  216. )
  217. set(CPACK_WIX_UI_DIALOG
  218. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
  219. )
  220. set(CPACK_WIX_EXTRA_SOURCES
  221. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
  222. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/options.wxs"
  223. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/options_dlg.wxs"
  224. )
  225. set(_WIX_CUSTOM_ACTION_ENABLED "@CMake_BUILD_WIX_CUSTOM_ACTION@")
  226. if(_WIX_CUSTOM_ACTION_ENABLED)
  227. list(APPEND CPACK_WIX_EXTRA_SOURCES
  228. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs"
  229. )
  230. list(APPEND CPACK_WIX_BUILD_EXTRA_FLAGS -d CHECK_NSIS=1)
  231. set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@CMake_BUILD_WIX_CUSTOM_ACTION_MULTI_CONFIG@")
  232. if(_WIX_CUSTOM_ACTION_MULTI_CONFIG)
  233. if(CPACK_BUILD_CONFIG)
  234. set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}")
  235. else()
  236. set(_WIX_CUSTOM_ACTION_CONFIG "Release")
  237. endif()
  238. list(APPEND CPACK_WIX_EXTRA_SOURCES
  239. "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs")
  240. else()
  241. list(APPEND CPACK_WIX_EXTRA_SOURCES
  242. "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs")
  243. endif()
  244. endif()
  245. set(CPACK_WIX_UI_REF "CMakeUI_InstallDir_$(sys.BUILDARCHSHORT)")
  246. set(CPACK_WIX_PATCH_FILE
  247. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
  248. )
  249. set(CPACK_WIX_TEMPLATE
  250. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in"
  251. )
  252. set(BUILD_QtDialog "@BUILD_QtDialog@")
  253. if(BUILD_QtDialog)
  254. list(APPEND CPACK_WIX_PATCH_FILE
  255. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
  256. )
  257. list(APPEND CPACK_WIX_BUILD_EXTRA_FLAGS -d BUILD_QtDialog=1)
  258. endif()
  259. endif()