CMakeCPackOptions.cmake.in 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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. "@_CPACK_IFW_PACKAGE_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. set(CPACK_IFW_COMPONENT_GROUP_CMAKE_VERSION
  53. "@_CPACK_IFW_PACKAGE_VERSION@")
  54. set(CPACK_IFW_COMPONENT_GROUP_CMAKE_LICENSES
  55. "@CPACK_PACKAGE_NAME@ Copyright" "@CPACK_RESOURCE_FILE_LICENSE@"
  56. @_CPACK_IFW_ADDITIONAL_LICENSES@)
  57. set(CPACK_IFW_COMPONENT_GROUP_CMAKE_SCRIPT "@_CPACK_IFW_PACKAGE_SCRIPT@")
  58. set(CPACK_IFW_COMPONENT_GROUP_CMAKE_PRIORITY 100)
  59. # Tools
  60. set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
  61. set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION
  62. "Command-Line Tools: cmake, ctest and cpack")
  63. set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
  64. set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
  65. set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  66. set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
  67. set(CPACK_COMPONENT_CMAKE_DESCRIPTION
  68. "The \"cmake\" executable is the CMake command-line interface")
  69. set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE)
  70. set(CPACK_COMPONENT_CMAKE_GROUP Tools)
  71. set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
  72. set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
  73. set(CPACK_IFW_COMPONENT_CMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  74. set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
  75. set(CPACK_COMPONENT_CTEST_DESCRIPTION
  76. "The \"ctest\" executable is the CMake test driver program")
  77. set(CPACK_COMPONENT_CTEST_REQUIRED TRUE)
  78. set(CPACK_COMPONENT_CTEST_GROUP Tools)
  79. set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
  80. set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
  81. set(CPACK_IFW_COMPONENT_CTEST_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  82. set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
  83. set(CPACK_COMPONENT_CPACK_DESCRIPTION
  84. "The \"cpack\" executable is the CMake packaging program")
  85. set(CPACK_COMPONENT_CPACK_REQUIRED TRUE)
  86. set(CPACK_COMPONENT_CPACK_GROUP Tools)
  87. set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
  88. set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
  89. set(CPACK_IFW_COMPONENT_CPACK_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  90. set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
  91. set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
  92. "The \"cmakexbuild\" executable is a wrapper program for \"xcodebuild\"")
  93. set(CPACK_COMPONENT_CMAKEXBUILD_REQUIRED TRUE)
  94. set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
  95. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
  96. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 86)
  97. set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  98. # Dialogs
  99. set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
  100. set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
  101. "Interactive Dialogs with Console and GUI interfaces")
  102. set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
  103. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
  104. set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  105. set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
  106. set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
  107. set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
  108. set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
  109. "@CMake_SOURCE_DIR@/Source/QtIFW/CMake.Dialogs.QtGUI.qs")
  110. set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION "@_CPACK_IFW_PACKAGE_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 "@_CPACK_IFW_PACKAGE_VERSION@")
  116. # Documentation
  117. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
  118. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
  119. "CMake Documentation in different formats (html, man, qch)")
  120. set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
  121. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
  122. set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
  123. "@_CPACK_IFW_PACKAGE_VERSION@")
  124. set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
  125. set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
  126. set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
  127. set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
  128. set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  129. set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
  130. set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
  131. set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
  132. set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
  133. "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
  134. set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  135. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
  136. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
  137. set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
  138. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
  139. set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
  140. "@_CPACK_IFW_PACKAGE_VERSION@")
  141. set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  142. set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
  143. set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
  144. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
  145. set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
  146. endif()
  147. if(CPACK_GENERATOR MATCHES "CygwinSource")
  148. # when packaging source make sure the .build directory is not included
  149. set(CPACK_SOURCE_IGNORE_FILES
  150. "/CVS/" "/\\.build/" "/\\.svn/" "\\.swp$" "\\.#" "/#" "~$")
  151. endif()
  152. if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
  153. if(CMAKE_PACKAGE_QTGUI)
  154. set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
  155. else()
  156. set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
  157. endif()
  158. endif()
  159. if("${CPACK_GENERATOR}" STREQUAL "WIX")
  160. # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
  161. # But the file names still use the full CMake_VERSION value:
  162. set(CPACK_PACKAGE_FILE_NAME
  163. "${CPACK_PACKAGE_NAME}-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
  164. set(CPACK_SOURCE_PACKAGE_FILE_NAME
  165. "${CPACK_PACKAGE_NAME}-@CMake_VERSION@-Source")
  166. if(NOT CPACK_WIX_SIZEOF_VOID_P)
  167. set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
  168. endif()
  169. set(CPACK_PACKAGE_VERSION
  170. "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
  171. # WIX installers require at most a 4 component version number, where
  172. # each component is an integer between 0 and 65534 inclusive
  173. set(patch "@CMake_VERSION_PATCH@")
  174. if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
  175. set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
  176. endif()
  177. set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
  178. set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")
  179. set(CPACK_WIX_PROPERTY_ARPCOMMENTS
  180. "CMake is a cross-platform, open-source build system."
  181. )
  182. set(CPACK_WIX_PRODUCT_ICON
  183. "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
  184. )
  185. set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
  186. CPACK_START_MENU_SHORTCUTS "CMake Documentation"
  187. )
  188. set_property(INSTALL "cmake.org.html" PROPERTY
  189. CPACK_START_MENU_SHORTCUTS "CMake Web Site"
  190. )
  191. set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
  192. set(CPACK_WIX_UI_BANNER
  193. "@CMake_SOURCE_DIR@/Utilities/Release/cpack_wix_ui_banner.jpg"
  194. )
  195. set(CPACK_WIX_UI_DIALOG
  196. "@CMake_SOURCE_DIR@/Utilities/Release/cpack_wix_ui_dialog.jpg"
  197. )
  198. endif()