CMakeCPackOptions.cmake.in 12.8 KB
Newer Older
1 2
# This file is configured at cmake time, and loaded at cpack time.
# 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 11
  set(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
  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 23
  set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
  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 26 27
  set(CPACK_NSIS_URL_INFO_ABOUT "http://www.kitware.com")
  set(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
  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 37
  # Installer configuration
  set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool")
38
  set(CPACK_IFW_PRODUCT_URL "https://cmake.org")
39
  @_CPACK_IFW_PACKAGE_ICON@
40 41
  set(CPACK_IFW_PACKAGE_WINDOW_ICON
    "@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png")
42 43
  set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT
    "@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs")
44

45 46
  # Uninstaller configuration
  set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
47
  @_CPACK_IFW_COMPONENTS_CONFIGURATION@
48 49 50
  # Unspecified
  set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
    "@_CPACK_IFW_PACKAGE_VERSION@")
51 52 53 54

  # Package configuration group
  set(CPACK_IFW_PACKAGE_GROUP CMake)

55
  # Group configuration
56 57

  # CMake
58 59 60 61 62 63 64
  set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME
    "@CPACK_PACKAGE_NAME@")
  set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
    "@CPACK_PACKAGE_DESCRIPTION_SUMMARY@")
  set(CPACK_IFW_COMPONENT_GROUP_CMAKE_VERSION
    "@_CPACK_IFW_PACKAGE_VERSION@")
  set(CPACK_IFW_COMPONENT_GROUP_CMAKE_LICENSES
65 66
    "@CPACK_PACKAGE_NAME@ Copyright" "@CPACK_RESOURCE_FILE_LICENSE@"
    @_CPACK_IFW_ADDITIONAL_LICENSES@)
67
  set(CPACK_IFW_COMPONENT_GROUP_CMAKE_SCRIPT "@_CPACK_IFW_PACKAGE_SCRIPT@")
68 69 70 71
  set(CPACK_IFW_COMPONENT_GROUP_CMAKE_PRIORITY 100)

  # Tools
  set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
72 73
  set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION
    "Command-Line Tools: cmake, ctest and cpack")
74 75 76 77 78
  set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
  set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
  set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
79 80 81
  set(CPACK_COMPONENT_CMAKE_DESCRIPTION
    "The \"cmake\" executable is the CMake command-line interface")
  set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE)
82 83
  set(CPACK_COMPONENT_CMAKE_GROUP Tools)
  set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
84
  set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
85 86 87
  set(CPACK_IFW_COMPONENT_CMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
88 89 90
  set(CPACK_COMPONENT_CTEST_DESCRIPTION
    "The \"ctest\" executable is the CMake test driver program")
  set(CPACK_COMPONENT_CTEST_REQUIRED TRUE)
91 92
  set(CPACK_COMPONENT_CTEST_GROUP Tools)
  set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
93
  set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
94 95 96
  set(CPACK_IFW_COMPONENT_CTEST_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
97 98 99
  set(CPACK_COMPONENT_CPACK_DESCRIPTION
    "The \"cpack\" executable is the CMake packaging program")
  set(CPACK_COMPONENT_CPACK_REQUIRED TRUE)
100 101
  set(CPACK_COMPONENT_CPACK_GROUP Tools)
  set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
102
  set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
103 104
  set(CPACK_IFW_COMPONENT_CPACK_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

105 106 107 108 109 110 111 112
  set(CPACK_COMPONENT_CMCLDEPS_DISPLAY_NAME "cmcldeps")
  set(CPACK_COMPONENT_CMCLDEPS_DESCRIPTION
    "The \"cmcldeps\" executable is wrapper around \"cl\" program")
  set(CPACK_COMPONENT_CMCLDEPS_GROUP Tools)
  set(CPACK_IFW_COMPONENT_CMCLDEPS_NAME "CMClDeps")
  set(CPACK_IFW_COMPONENT_CMCLDEPS_PRIORITY 86)
  set(CPACK_IFW_COMPONENT_CMCLDEPS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

113 114 115 116 117 118
  set(CPACK_COMPONENT_CMAKEXBUILD_DISPLAY_NAME "cmakexbuild")
  set(CPACK_COMPONENT_CMAKEXBUILD_DESCRIPTION
    "The \"cmakexbuild\" executable is a wrapper program for \"xcodebuild\"")
  set(CPACK_COMPONENT_CMAKEXBUILD_REQUIRED TRUE)
  set(CPACK_COMPONENT_CMAKEXBUILD_GROUP Tools)
  set(CPACK_IFW_COMPONENT_CMAKEXBUILD_NAME "CMakeXBuild")
119
  set(CPACK_IFW_COMPONENT_CMAKEXBUILD_PRIORITY 85)
120 121
  set(CPACK_IFW_COMPONENT_CMAKEXBUILD_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

122 123
  # Dialogs
  set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
124 125
  set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
    "Interactive Dialogs with Console and GUI interfaces")
126 127 128 129 130 131 132 133 134 135
  set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
  set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
  set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CMAKE-GUI_DISPLAY_NAME "cmake-gui")
  set(CPACK_COMPONENT_CMAKE-GUI_GROUP Dialogs)
  set(CPACK_IFW_COMPONENT_CMAKE-GUI_NAME "QtGUI")
  set(CPACK_IFW_COMPONENT_CMAKE-GUI_SCRIPT
    "@CMake_SOURCE_DIR@/Source/QtIFW/CMake.Dialogs.QtGUI.qs")
  set(CPACK_IFW_COMPONENT_CMAKE-GUI_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
136
  @_CPACK_IFW_COMPONENT_CMAKE-GUI_LICENSES@
137 138 139 140 141 142 143 144

  set(CPACK_COMPONENT_CCMAKE_DISPLAY_NAME "ccmake")
  set(CPACK_COMPONENT_CCMAKE_GROUP Dialogs)
  set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
  set(CPACK_IFW_COMPONENT_CCMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  # Documentation
  set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
145 146
  set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
    "CMake Documentation in different formats (html, man, qch)")
147 148 149 150 151
  set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
  set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
  set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
    "@_CPACK_IFW_PACKAGE_VERSION@")

152 153
  set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
  set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
154
  set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
155 156 157
  set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
  set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

158 159 160 161 162 163 164 165 166
  set(CPACK_COMPONENT_SPHINX-HTML_DISPLAY_NAME "HTML")
  set(CPACK_COMPONENT_SPHINX-HTML_GROUP Documentation)
  set(CPACK_IFW_COMPONENT_SPHINX-HTML_NAME "SphinxHTML")
  set(CPACK_IFW_COMPONENT_SPHINX-HTML_SCRIPT
    "@CMake_BINARY_DIR@/CMake.Documentation.SphinxHTML.qs")
  set(CPACK_IFW_COMPONENT_SPHINX-HTML_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
  set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
167
  set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
168 169 170 171 172 173
  set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
  set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
    "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
174
  set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
175 176 177
  set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
  set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
  # Developer Reference
  set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DISPLAY_NAME "Developer Reference")
  set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_DESCRIPTION
    "CMake Reference in different formats (html, qch)")
  set(CPACK_COMPONENT_GROUP_DEVELOPERREFERENCE_PARENT_GROUP CMake)
  set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_PRIORITY 50)
  set(CPACK_IFW_COMPONENT_GROUP_DEVELOPERREFERENCE_VERSION
    "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISPLAY_NAME "HTML")
  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_GROUP DeveloperReference)
  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_DISABLED TRUE)
  set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_NAME "HTML")
  set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_SCRIPT
    "@CMake_BINARY_DIR@/CMake.DeveloperReference.HTML.qs")
  set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-HTML_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISPLAY_NAME "Qt Compressed Help")
  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_GROUP DeveloperReference)
  set(CPACK_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_DISABLED TRUE)
  set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_NAME "QtHelp")
  set(CPACK_IFW_COMPONENT_CMAKE-DEVELOPER-REFERENCE-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")

201 202
endif()

203 204
if(CPACK_GENERATOR MATCHES "CygwinSource")
  # when packaging source make sure the .build directory is not included
205
    set(CPACK_SOURCE_IGNORE_FILES
206
      "/CVS/" "/\\.build/" "/\\.svn/" "\\.swp$" "\\.#" "/#" "~$")
207
endif()
208 209

if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
210
  if(CMAKE_PACKAGE_QTGUI)
211
    set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
212
  else()
213
    set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
214 215
  endif()
endif()
216

217 218 219 220 221 222 223
if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
  set(CPACK_DMG_BACKGROUND_IMAGE
      "@CMake_SOURCE_DIR@/Packaging/CMakeDMGBackground.tif")
  set(CPACK_DMG_DS_STORE_SETUP_SCRIPT
      "@CMake_SOURCE_DIR@/Packaging/CMakeDMGSetup.scpt")
endif()

224 225 226 227
if("${CPACK_GENERATOR}" STREQUAL "WIX")
  # Reset CPACK_PACKAGE_VERSION to deal with WiX restriction.
  # But the file names still use the full CMake_VERSION value:
  set(CPACK_PACKAGE_FILE_NAME
228
    "cmake-@CMake_VERSION@-${CPACK_SYSTEM_NAME}")
229
  set(CPACK_SOURCE_PACKAGE_FILE_NAME
230
    "cmake-@CMake_VERSION@")
231 232 233 234 235 236

  if(NOT CPACK_WIX_SIZEOF_VOID_P)
    set(CPACK_WIX_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
  endif()

  set(CPACK_PACKAGE_VERSION
237
    "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@")
238 239
  # WIX installers require at most a 4 component version number, where
  # each component is an integer between 0 and 65534 inclusive
240 241 242
  set(patch "@CMake_VERSION_PATCH@")
  if(patch MATCHES "^[0-9]+$" AND patch LESS 65535)
    set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${patch}")
243
  endif()
244

245
  set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "https://cmake.org")
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265

  set(CPACK_WIX_PROPERTY_ARPCONTACT "@CPACK_PACKAGE_CONTACT@")

  set(CPACK_WIX_PROPERTY_ARPCOMMENTS
    "CMake is a cross-platform, open-source build system."
  )

  set(CPACK_WIX_PRODUCT_ICON
    "@CMake_SOURCE_DIR@/Utilities/Release/CMakeLogo.ico"
  )

  set_property(INSTALL "@CMAKE_DOC_DIR@/html/index.html" PROPERTY
    CPACK_START_MENU_SHORTCUTS "CMake Documentation"
  )

  set_property(INSTALL "cmake.org.html" PROPERTY
    CPACK_START_MENU_SHORTCUTS "CMake Web Site"
  )

  set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
266 267

  set(CPACK_WIX_UI_BANNER
268
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
269 270 271
  )

  set(CPACK_WIX_UI_DIALOG
272
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
273
  )
274 275 276 277 278 279

  set(CPACK_WIX_EXTRA_SOURCES
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs"
  )

280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
  set(_WIX_CUSTOM_ACTION_ENABLED "@WIX_CUSTOM_ACTION_ENABLED@")
  if(_WIX_CUSTOM_ACTION_ENABLED)
    list(APPEND CPACK_WIX_EXTRA_SOURCES
      "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_nsis_overwrite_dialog.wxs"
      )
    list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dCHECK_NSIS=1)

    set(_WIX_CUSTOM_ACTION_MULTI_CONFIG "@WIX_CUSTOM_ACTION_MULTI_CONFIG@")
    if(_WIX_CUSTOM_ACTION_MULTI_CONFIG)
      if(CPACK_BUILD_CONFIG)
        set(_WIX_CUSTOM_ACTION_CONFIG "${CPACK_BUILD_CONFIG}")
      else()
        set(_WIX_CUSTOM_ACTION_CONFIG "Release")
      endif()

      list(APPEND CPACK_WIX_EXTRA_SOURCES
        "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll-${_WIX_CUSTOM_ACTION_CONFIG}.wxs")
    else()
      list(APPEND CPACK_WIX_EXTRA_SOURCES
        "@CMake_BINARY_DIR@/Utilities/Release/WiX/custom_action_dll.wxs")
    endif()
  endif()

303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
  set(CPACK_WIX_UI_REF "CMakeUI_InstallDir")

  set(CPACK_WIX_PATCH_FILE
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
  )

  set(CPACK_WIX_TEMPLATE
    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/WIX.template.in"
  )

  set(BUILD_QtDialog "@BUILD_QtDialog@")

  if(BUILD_QtDialog)
    list(APPEND CPACK_WIX_PATCH_FILE
      "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
318 319
      )
    list(APPEND CPACK_WIX_CANDLE_EXTRA_FLAGS -dBUILD_QtDialog=1)
320
  endif()
321
endif()