CMakeCPackOptions.cmake.in 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  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/unistall 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. set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
  97. set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
  98. "The \"cmakexbuild\" executable is a wrapper program for \"xcodebuild\"")
  99. set(CPACK_COMPONENT_CMAKEXBUILD_REQUIRED TRUE)
  100. set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
  101. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
  102. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 85)
  103. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION
  104. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  105. # Dialogs
  106. set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
  107. set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
  108. "Interactive Dialogs with Console and GUI interfaces")
  109. set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
  110. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
  111. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION
  112. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  113. set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
  114. set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
  115. set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
  116. set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
  117. "@CMake_BINARY_DIR@/CMake.Dialogs.QtGUI.qs")
  118. set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION
  119. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  120. @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
  121. set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
  122. set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
  123. set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
  124. set(CPACK_IFW_COMPONENT_CCMAKE_VERSION
  125. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  126. # Documentation
  127. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
  128. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
  129. "CMake Documentation in different formats (html, man, qch)")
  130. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
  131. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
  132. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
  133. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  134. set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
  135. set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
  136. set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
  137. set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
  138. set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION
  139. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  140. set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
  141. set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
  142. set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
  143. set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
  144. "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
  145. set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION
  146. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  147. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
  148. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
  149. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
  150. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
  151. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
  152. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  153. set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  154. set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
  155. set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
  156. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
  157. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION
  158. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  159. # Developer Reference
  160. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
  161. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION
  162. "CMake Reference in different formats (html, qch)")
  163. set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
  164. set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
  165. set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
  166. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  167. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
  168. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
  169. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE)
  170. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
  171. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
  172. "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
  173. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION
  174. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  175. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  176. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
  177. set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
  178. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
  179. set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION
  180. "@CMake_IFW_ROOT_COMPONENT_VERSION@")
  181. endif()
  182. if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
  183. if(CMAKE_PACKAGE_QTGUI)
  184. set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
  185. else()
  186. set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
  187. endif()
  188. endif()
  189. if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
  190. set(CPACK_DMG_BACKGROUND_IMAGE
  191. "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif")
  192. set(CPACK_DMG_DS_STORE_SETUP_SCRIPT
  193. "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt")
  194. endif()
  195. if("${CPACK_GENERATOR}" STREQUAL "WIX")
  196. # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
  197. # But the file names still use the full CMake_VERSION value:
  198. set(CPACK_PACKAGE_FILE_NAME
  199. "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
  200. set(CPACK_SOURCE_PACKAGE_FILE_NAME
  201. "cmake-@CMake_VERSION@")
  202. if(NOT CPACK_WIX_SIZEOF_VOID_P)
  203. set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
  204. endif()
  205. set(CPACK_PACKAGE_VERSION
  206. "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
  207. # WIX installers require at most a 4 component version number, where
  208. # each component is an integer between 0 and 65534 inclusive
  209. set(patch "@CMake_VERSION_PATCH@")
  210. if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
  211. set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
  212. endif()
  213. set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
  214. set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")
  215. set(CPACK_WIX_PROPERTY_ARPCOMMENTS
  216. "CMake is a cross-platform, open-source build system."
  217. )
  218. set(CPACK_WIX_PRODUCT_ICON
  219. "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
  220. )
  221. set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
  222. CPACK_START_MENU_SHORTCUTS "CMake Documentation"
  223. )
  224. set_property(INSTALL "cmake.org.html" PROPERTY
  225. CPACK_START_MENU_SHORTCUTS "CMake Web Site"
  226. )
  227. set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
  228. set(CPACK_WIX_UI_BANNER
  229. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
  230. )
  231. set(CPACK_WIX_UI_DIALOG
  232. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
  233. )
  234. set(CPACK_WIX_EXTRA_SOURCES
  235. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
  236. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs"
  237. )
  238. set(_WIX_CUSTOM_ACTION_ENABLED "@WIX_CUSTOM_ACTION_ENABLED@")
  239. if(_WIX_CUSTOM_ACTION_ENABLED)
  240. list(APPEND CPACK_WIX_EXTRA_SOURCES
  241. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs"
  242. )
  243. list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dCHECK_NSIS=1)
  244. set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@WIX_CUSTOM_ACTION_MULTI_CONFIG@")
  245. if(_WIX_CUSTOM_ACTION_MULTI_CONFIG)
  246. if(CPACK_BUILD_CONFIG)
  247. set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}")
  248. else()
  249. set(_WIX_CUSTOM_ACTION_CONFIG "Release")
  250. endif()
  251. list(APPEND CPACK_WIX_EXTRA_SOURCES
  252. "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs")
  253. else()
  254. list(APPEND CPACK_WIX_EXTRA_SOURCES
  255. "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs")
  256. endif()
  257. endif()
  258. set(CPACK_WIX_UI_REF "CMakeUI_InstallDir")
  259. set(CPACK_WIX_PATCH_FILE
  260. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
  261. )
  262. set(CPACK_WIX_TEMPLATE
  263. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in"
  264. )
  265. set(BUILD_QtDialog "@BUILD_QtDialog@")
  266. if(BUILD_QtDialog)
  267. list(APPEND CPACK_WIX_PATCH_FILE
  268. "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
  269. )
  270. list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dBUILD_QtDialog=1)
  271. endif()
  272. endif()