CMake: New option CMake_INSTALL_COMPONENTS
By default is OFF. Now it's used with CPack IFW himself installer.
This commit is contained in:
parent
7383e4d722
commit
c823f04e0c
|
@ -66,34 +66,40 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Components
|
# Components
|
||||||
set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack)
|
if(CMake_INSTALL_COMPONENTS)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL data)
|
set(_CPACK_IFW_COMPONENTS_ALL cmake ctest cpack)
|
||||||
if(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
|
if(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME
|
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME
|
||||||
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
|
${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME})
|
||||||
else()
|
else()
|
||||||
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME Unspecified)
|
set(_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME Unspecified)
|
||||||
endif()
|
endif()
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL ${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME})
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL ${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME})
|
||||||
string(TOUPPER "${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME}"
|
string(TOUPPER "${_CPACK_IFW_COMPONENT_UNSPECIFIED_NAME}"
|
||||||
_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME)
|
_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME)
|
||||||
if(BUILD_CursesDialog)
|
if(BUILD_CursesDialog)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL ccmake)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL ccmake)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_QtDialog)
|
if(BUILD_QtDialog)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-gui)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL cmake-gui)
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_MAN)
|
if(SPHINX_MAN)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-man)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-man)
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_HTML)
|
if(SPHINX_HTML)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-html)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-html)
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_SINGLEHTML)
|
if(SPHINX_SINGLEHTML)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-singlehtml)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-singlehtml)
|
||||||
endif()
|
endif()
|
||||||
if(SPHINX_QTHELP)
|
if(SPHINX_QTHELP)
|
||||||
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-qthelp)
|
list(APPEND _CPACK_IFW_COMPONENTS_ALL sphinx-qthelp)
|
||||||
|
endif()
|
||||||
|
set(_CPACK_IFW_COMPONENTS_CONFIGURATION "
|
||||||
|
# Components
|
||||||
|
set(CPACK_COMPONENTS_ALL \"${_CPACK_IFW_COMPONENTS_ALL}\")
|
||||||
|
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
||||||
|
")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Components scripts configuration
|
# Components scripts configuration
|
||||||
|
@ -107,9 +113,23 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES Windows)
|
if(${CMAKE_SYSTEM_NAME} MATCHES Windows)
|
||||||
set(_CPACK_IFW_PACKAGE_ICON
|
set(_CPACK_IFW_PACKAGE_ICON
|
||||||
"set(CPACK_IFW_PACKAGE_ICON \"${CMake_SOURCE_DIR}/Source/QtDialog/CMakeSetup.ico\")")
|
"set(CPACK_IFW_PACKAGE_ICON \"${CMake_SOURCE_DIR}/Source/QtDialog/CMakeSetup.ico\")")
|
||||||
|
if(BUILD_QtDialog)
|
||||||
|
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/bin/cmake-gui.exe\", \"@StartMenuDir@/CMake (cmake-gui).lnk\");\n")
|
||||||
|
endif()
|
||||||
|
if(SPHINX_HTML)
|
||||||
|
set(_CPACK_IFW_SHORTCUT_OPTIONAL "${_CPACK_IFW_SHORTCUT_OPTIONAL}component.addOperation(\"CreateShortcut\", \"@TargetDir@/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}/html/index.html\", \"@StartMenuDir@/CMake Documentation.lnk\");\n")
|
||||||
|
endif()
|
||||||
|
configure_file("${CMake_SOURCE_DIR}/Source/QtIFW/installscript.qs.in"
|
||||||
|
"${CMake_BINARY_DIR}/installscript.qs" @ONLY
|
||||||
|
)
|
||||||
install(FILES "${CMake_SOURCE_DIR}/Source/QtIFW/cmake.org.html"
|
install(FILES "${CMake_SOURCE_DIR}/Source/QtIFW/cmake.org.html"
|
||||||
DESTINATION "${CMAKE_DOC_DIR}"
|
DESTINATION "${CMAKE_DOC_DIR}"
|
||||||
)
|
)
|
||||||
|
if(CMake_INSTALL_COMPONENTS)
|
||||||
|
set(_CPACK_IFW_PACKAGE_SCRIPT "${CMake_BINARY_DIR}/CMake.qs")
|
||||||
|
else()
|
||||||
|
set(_CPACK_IFW_PACKAGE_SCRIPT "${CMake_BINARY_DIR}/installscript.qs")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES Linux)
|
if(${CMAKE_SYSTEM_NAME} MATCHES Linux)
|
||||||
|
|
|
@ -32,6 +32,7 @@ endif()
|
||||||
include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
|
include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
|
||||||
|
|
||||||
if(CPACK_GENERATOR MATCHES "IFW")
|
if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
|
|
||||||
# Installer configuration
|
# Installer configuration
|
||||||
set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool")
|
set(CPACK_IFW_PACKAGE_TITLE "CMake Build Tool")
|
||||||
set(CPACK_IFW_PRODUCT_URL "http://www.cmake.org")
|
set(CPACK_IFW_PRODUCT_URL "http://www.cmake.org")
|
||||||
|
@ -40,17 +41,20 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
"@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png")
|
"@CMake_SOURCE_DIR@/Source/QtDialog/CMakeSetup128.png")
|
||||||
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT
|
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT
|
||||||
"@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs")
|
"@CMake_SOURCE_DIR@/Source/QtIFW/controlscript.qs")
|
||||||
|
|
||||||
# Uninstaller configuration
|
# Uninstaller configuration
|
||||||
set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
|
set(CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME "cmake-maintenance")
|
||||||
# Package configuration group
|
@_CPACK_IFW_COMPONENTS_CONFIGURATION@
|
||||||
set(CPACK_IFW_PACKAGE_GROUP CMake)
|
|
||||||
# Components
|
|
||||||
set(CPACK_COMPONENTS_ALL "@_CPACK_IFW_COMPONENTS_ALL@")
|
|
||||||
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
|
||||||
# Unspecified
|
# Unspecified
|
||||||
set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
|
set(CPACK_IFW_COMPONENT_@_CPACK_IFW_COMPONENT_UNSPECIFIED_UNAME@_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
|
# Package configuration group
|
||||||
|
set(CPACK_IFW_PACKAGE_GROUP CMake)
|
||||||
|
|
||||||
# Group configuration
|
# Group configuration
|
||||||
|
|
||||||
|
# CMake
|
||||||
set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME
|
set(CPACK_COMPONENT_GROUP_CMAKE_DISPLAY_NAME
|
||||||
"@CPACK_PACKAGE_NAME@")
|
"@CPACK_PACKAGE_NAME@")
|
||||||
set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
|
set(CPACK_COMPONENT_GROUP_CMAKE_DESCRIPTION
|
||||||
|
@ -59,32 +63,48 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_LICENSES
|
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_LICENSES
|
||||||
"@CPACK_PACKAGE_NAME@ Copyright" "@CPACK_RESOURCE_FILE_LICENSE@")
|
"@CPACK_PACKAGE_NAME@ Copyright" "@CPACK_RESOURCE_FILE_LICENSE@")
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_SCRIPT "@CMake_BINARY_DIR@/CMake.qs")
|
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_SCRIPT "@_CPACK_IFW_PACKAGE_SCRIPT@")
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_PRIORITY 100)
|
set(CPACK_IFW_COMPONENT_GROUP_CMAKE_PRIORITY 100)
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
|
set(CPACK_COMPONENT_GROUP_TOOLS_DISPLAY_NAME "Command-Line Tools")
|
||||||
|
set(CPACK_COMPONENT_GROUP_TOOLS_DESCRIPTION
|
||||||
|
"Command-Line Tools: cmake, ctest and cpack")
|
||||||
set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_TOOLS_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
|
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_PRIORITY 90)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_GROUP_TOOLS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
|
set(CPACK_COMPONENT_CMAKE_DISPLAY_NAME "cmake")
|
||||||
|
set(CPACK_COMPONENT_CMAKE_DESCRIPTION
|
||||||
|
"The \"cmake\" executable is the CMake command-line interface")
|
||||||
|
set(CPACK_COMPONENT_CMAKE_REQUIRED TRUE)
|
||||||
set(CPACK_COMPONENT_CMAKE_GROUP Tools)
|
set(CPACK_COMPONENT_CMAKE_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
|
set(CPACK_IFW_COMPONENT_CMAKE_NAME "CMake")
|
||||||
|
set(CPACK_IFW_COMPONENT_CMAKE_PRIORITY 89)
|
||||||
set(CPACK_IFW_COMPONENT_CMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
|
set(CPACK_COMPONENT_CTEST_DISPLAY_NAME "ctest")
|
||||||
|
set(CPACK_COMPONENT_CTEST_DESCRIPTION
|
||||||
|
"The \"ctest\" executable is the CMake test driver program")
|
||||||
|
set(CPACK_COMPONENT_CTEST_REQUIRED TRUE)
|
||||||
set(CPACK_COMPONENT_CTEST_GROUP Tools)
|
set(CPACK_COMPONENT_CTEST_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
|
set(CPACK_IFW_COMPONENT_CTEST_NAME "CTest")
|
||||||
|
set(CPACK_IFW_COMPONENT_CTEST_PRIORITY 88)
|
||||||
set(CPACK_IFW_COMPONENT_CTEST_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CTEST_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
|
set(CPACK_COMPONENT_CPACK_DISPLAY_NAME "cpack")
|
||||||
|
set(CPACK_COMPONENT_CPACK_DESCRIPTION
|
||||||
|
"The \"cpack\" executable is the CMake packaging program")
|
||||||
|
set(CPACK_COMPONENT_CPACK_REQUIRED TRUE)
|
||||||
set(CPACK_COMPONENT_CPACK_GROUP Tools)
|
set(CPACK_COMPONENT_CPACK_GROUP Tools)
|
||||||
set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
|
set(CPACK_IFW_COMPONENT_CPACK_NAME "CPack")
|
||||||
|
set(CPACK_IFW_COMPONENT_CPACK_PRIORITY 87)
|
||||||
set(CPACK_IFW_COMPONENT_CPACK_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CPACK_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
# Dialogs
|
# Dialogs
|
||||||
set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
|
set(CPACK_COMPONENT_GROUP_DIALOGS_DISPLAY_NAME "Interactive Dialogs")
|
||||||
|
set(CPACK_COMPONENT_GROUP_DIALOGS_DESCRIPTION
|
||||||
|
"Interactive Dialogs with Console and GUI interfaces")
|
||||||
set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_DIALOGS_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
|
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_PRIORITY 80)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_GROUP_DIALOGS_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
@ -101,17 +121,10 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
|
set(CPACK_IFW_COMPONENT_CCMAKE_NAME "CursesGUI")
|
||||||
set(CPACK_IFW_COMPONENT_CCMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_CCMAKE_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
# Data
|
|
||||||
set(CPACK_COMPONENT_DATA_DISPLAY_NAME "Data")
|
|
||||||
set(CPACK_COMPONENT_DATA_DESCRIPTION
|
|
||||||
"CMake data files (help, modules and templates)")
|
|
||||||
set(CPACK_COMPONENT_DATA_GROUP CMake)
|
|
||||||
set(CPACK_IFW_COMPONENT_DATA_PRIORITY 70)
|
|
||||||
set(CPACK_IFW_COMPONENT_DATA_NAME "Data")
|
|
||||||
set(CPACK_IFW_COMPONENT_DATA_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
|
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DISPLAY_NAME "Documentation")
|
||||||
|
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
|
||||||
|
"CMake Documentation in different formats (html, man, qch)")
|
||||||
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
|
set(CPACK_COMPONENT_GROUP_DOCUMENTATION_PARENT_GROUP CMake)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
|
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_PRIORITY 60)
|
||||||
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
|
set(CPACK_IFW_COMPONENT_GROUP_DOCUMENTATION_VERSION
|
||||||
|
@ -119,6 +132,7 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
|
set(CPACK_COMPONENT_SPHINX-MAN_DISPLAY_NAME "man")
|
||||||
set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-MAN_GROUP Documentation)
|
||||||
|
set(CPACK_COMPONENT_SPHINX-MAN_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
|
set(CPACK_IFW_COMPONENT_SPHINX-MAN_NAME "SphinxMan")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_SPHINX-MAN_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
|
@ -131,12 +145,14 @@ if(CPACK_GENERATOR MATCHES "IFW")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISPLAY_NAME "Single HTML")
|
||||||
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_GROUP Documentation)
|
||||||
|
set(CPACK_COMPONENT_SPHINX-SINGLEHTML_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
|
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_NAME "SphinxSingleHTML")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
|
set(CPACK_IFW_COMPONENT_SPHINX-SINGLEHTML_VERSION
|
||||||
"@_CPACK_IFW_PACKAGE_VERSION@")
|
"@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
set(CPACK_COMPONENT_SPHINX-QTHELP_DISPLAY_NAME "Qt Compressed Help")
|
||||||
set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
|
set(CPACK_COMPONENT_SPHINX-QTHELP_GROUP Documentation)
|
||||||
|
set(CPACK_COMPONENT_SPHINX-QTHELP_DISABLED TRUE)
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
|
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_NAME "SphinxQtHelp")
|
||||||
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
set(CPACK_IFW_COMPONENT_SPHINX-QTHELP_VERSION "@_CPACK_IFW_PACKAGE_VERSION@")
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,17 @@ if(CMAKE_ENCODING_UTF8)
|
||||||
set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
|
set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# option to use COMPONENT with install command
|
||||||
|
option(CMake_INSTALL_COMPONENTS "Using components when installing" OFF)
|
||||||
|
mark_as_advanced(CMake_INSTALL_COMPONENTS)
|
||||||
|
macro(CMake_OPTIONAL_COMPONENT NAME)
|
||||||
|
if(CMake_INSTALL_COMPONENTS)
|
||||||
|
set(COMPONENT COMPONENT ${NAME})
|
||||||
|
else()
|
||||||
|
set(COMPONENT)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# a macro to deal with system libraries, implemented as a macro
|
# a macro to deal with system libraries, implemented as a macro
|
||||||
# simply to improve readability of the main script
|
# simply to improve readability of the main script
|
||||||
|
@ -652,7 +663,6 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
||||||
DIRECTORY_PERMISSIONS OWNER_READ OWNER_EXECUTE OWNER_WRITE
|
DIRECTORY_PERMISSIONS OWNER_READ OWNER_EXECUTE OWNER_WRITE
|
||||||
GROUP_READ GROUP_EXECUTE
|
GROUP_READ GROUP_EXECUTE
|
||||||
WORLD_READ WORLD_EXECUTE
|
WORLD_READ WORLD_EXECUTE
|
||||||
COMPONENT data
|
|
||||||
PATTERN "*.sh*" PERMISSIONS OWNER_READ OWNER_EXECUTE OWNER_WRITE
|
PATTERN "*.sh*" PERMISSIONS OWNER_READ OWNER_EXECUTE OWNER_WRITE
|
||||||
GROUP_READ GROUP_EXECUTE
|
GROUP_READ GROUP_EXECUTE
|
||||||
WORLD_READ WORLD_EXECUTE
|
WORLD_READ WORLD_EXECUTE
|
||||||
|
|
|
@ -743,7 +743,8 @@ if(APPLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(_tool ${_tools})
|
foreach(_tool ${_tools})
|
||||||
install(TARGETS ${_tool} DESTINATION bin COMPONENT ${_tool})
|
CMake_OPTIONAL_COMPONENT(${_tool})
|
||||||
|
install(TARGETS ${_tool} DESTINATION bin ${COMPONENT})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
|
install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
|
||||||
|
|
|
@ -47,4 +47,5 @@ else()
|
||||||
target_link_libraries(ccmake cmForm)
|
target_link_libraries(ccmake cmForm)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS ccmake DESTINATION bin COMPONENT ccmake)
|
CMake_OPTIONAL_COMPONENT(ccmake)
|
||||||
|
install(TARGETS ccmake DESTINATION bin ${COMPONENT})
|
||||||
|
|
|
@ -14,6 +14,7 @@ project(QtDialog)
|
||||||
if(POLICY CMP0020)
|
if(POLICY CMP0020)
|
||||||
cmake_policy(SET CMP0020 NEW) # Drop when CMake >= 2.8.11 required
|
cmake_policy(SET CMP0020 NEW) # Drop when CMake >= 2.8.11 required
|
||||||
endif()
|
endif()
|
||||||
|
CMake_OPTIONAL_COMPONENT(cmake-gui)
|
||||||
find_package(Qt5Widgets QUIET)
|
find_package(Qt5Widgets QUIET)
|
||||||
if (Qt5Widgets_FOUND)
|
if (Qt5Widgets_FOUND)
|
||||||
include_directories(${Qt5Widgets_INCLUDE_DIRS})
|
include_directories(${Qt5Widgets_INCLUDE_DIRS})
|
||||||
|
@ -48,7 +49,7 @@ if (Qt5Widgets_FOUND)
|
||||||
set(_qt_plugin_dest "PlugIns/${_qt_plugin_type}")
|
set(_qt_plugin_dest "PlugIns/${_qt_plugin_type}")
|
||||||
install(FILES "${_qt_plugin_path}"
|
install(FILES "${_qt_plugin_path}"
|
||||||
DESTINATION "${_qt_plugin_dest}"
|
DESTINATION "${_qt_plugin_dest}"
|
||||||
COMPONENT cmake-gui)
|
${COMPONENT})
|
||||||
set(${_qt_plugins_var}
|
set(${_qt_plugins_var}
|
||||||
"${${_qt_plugins_var}};\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}")
|
"${${_qt_plugins_var}};\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}")
|
||||||
else()
|
else()
|
||||||
|
@ -60,7 +61,7 @@ if (Qt5Widgets_FOUND)
|
||||||
"[Paths]\nPlugins = PlugIns\n")
|
"[Paths]\nPlugins = PlugIns\n")
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf"
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf"
|
||||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
|
||||||
COMPONENT cmake-gui)
|
${COMPONENT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND TARGET Qt5::Core)
|
if(WIN32 AND TARGET Qt5::Core)
|
||||||
|
@ -133,7 +134,7 @@ endif()
|
||||||
if(CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
if(CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
||||||
install(FILES ${CMake_SOURCE_DIR}/Licenses/LGPLv2.1.txt
|
install(FILES ${CMake_SOURCE_DIR}/Licenses/LGPLv2.1.txt
|
||||||
DESTINATION ${CMAKE_DATA_DIR}/Licenses
|
DESTINATION ${CMAKE_DATA_DIR}/Licenses
|
||||||
COMPONENT cmake-gui)
|
${COMPONENT})
|
||||||
set_property(SOURCE CMakeSetupDialog.cxx
|
set_property(SOURCE CMakeSetupDialog.cxx
|
||||||
PROPERTY COMPILE_DEFINITIONS CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
PROPERTY COMPILE_DEFINITIONS CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
||||||
endif()
|
endif()
|
||||||
|
@ -166,10 +167,10 @@ if(APPLE)
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_INSTALL_DESTINATION_ARGS
|
set(CMAKE_INSTALL_DESTINATION_ARGS
|
||||||
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" COMPONENT cmake-gui)
|
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" ${COMPONENT})
|
||||||
|
|
||||||
install(TARGETS cmake-gui
|
install(TARGETS cmake-gui
|
||||||
RUNTIME DESTINATION bin COMPONENT cmake-gui
|
RUNTIME DESTINATION bin ${COMPONENT}
|
||||||
${CMAKE_INSTALL_DESTINATION_ARGS})
|
${CMAKE_INSTALL_DESTINATION_ARGS})
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
|
@ -177,7 +178,7 @@ if(UNIX AND NOT APPLE)
|
||||||
install(
|
install(
|
||||||
FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetup${size}.png"
|
FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetup${size}.png"
|
||||||
DESTINATION "share/icons/hicolor/${size}x${size}/apps"
|
DESTINATION "share/icons/hicolor/${size}x${size}/apps"
|
||||||
COMPONENT cmake-gui
|
${COMPONENT}
|
||||||
RENAME "CMakeSetup.png")
|
RENAME "CMakeSetup.png")
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
|
@ -185,17 +186,17 @@ if(UNIX AND NOT APPLE)
|
||||||
# with an icon
|
# with an icon
|
||||||
install(FILES CMake.desktop
|
install(FILES CMake.desktop
|
||||||
DESTINATION share/applications
|
DESTINATION share/applications
|
||||||
COMPONENT cmake-gui)
|
${COMPONENT})
|
||||||
install(FILES cmakecache.xml
|
install(FILES cmakecache.xml
|
||||||
DESTINATION share/mime/packages
|
DESTINATION share/mime/packages
|
||||||
COMPONENT cmake-gui)
|
${COMPONENT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
install(CODE "
|
install(CODE "
|
||||||
execute_process(COMMAND ln -s \"../MacOS/CMake\" cmake-gui
|
execute_process(COMMAND ln -s \"../MacOS/CMake\" cmake-gui
|
||||||
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)
|
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)
|
||||||
" COMPONENT cmake-gui)
|
" ${COMPONENT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE OR WIN32)
|
if(APPLE OR WIN32)
|
||||||
|
@ -209,7 +210,7 @@ if(APPLE OR WIN32)
|
||||||
include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
|
include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
|
||||||
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||||
fixup_bundle(\"${fixup_exe}\" \"${QT_PLUGINS}\" \"${QT_LIBRARY_DIR};${QT_BINARY_DIR}\")
|
fixup_bundle(\"${fixup_exe}\" \"${QT_PLUGINS}\" \"${QT_LIBRARY_DIR};${QT_BINARY_DIR}\")
|
||||||
" COMPONENT cmake-gui)
|
" ${COMPONENT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_PACKAGE_QTGUI TRUE)
|
set(CMAKE_PACKAGE_QTGUI TRUE)
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
function Component()
|
||||||
|
{
|
||||||
|
// default constructor
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.prototype.createOperations = function()
|
||||||
|
{
|
||||||
|
// call default implementation to actually install applications!
|
||||||
|
component.createOperations();
|
||||||
|
|
||||||
|
// Create shortcut
|
||||||
|
if (installer.value("os") === "win") {
|
||||||
|
|
||||||
|
@_CPACK_IFW_SHORTCUT_OPTIONAL@
|
||||||
|
|
||||||
|
component.addOperation("CreateShortcut",
|
||||||
|
installer.value("TargetDir") + "/cmake.org.html",
|
||||||
|
installer.value("StartMenuDir") + "/CMake Web Site.lnk");
|
||||||
|
|
||||||
|
component.addOperation("CreateShortcut",
|
||||||
|
installer.value("TargetDir") + "/cmake-maintenance.exe",
|
||||||
|
installer.value("StartMenuDir") + "/CMake Maintenance Tool.lnk");
|
||||||
|
}
|
||||||
|
}
|
|
@ -153,31 +153,35 @@ if(SPHINX_MAN)
|
||||||
if("x${m}" MATCHES "^x(.+)\\.([1-9])\\.rst$")
|
if("x${m}" MATCHES "^x(.+)\\.([1-9])\\.rst$")
|
||||||
set(name "${CMAKE_MATCH_1}")
|
set(name "${CMAKE_MATCH_1}")
|
||||||
set(sec "${CMAKE_MATCH_2}")
|
set(sec "${CMAKE_MATCH_2}")
|
||||||
|
CMake_OPTIONAL_COMPONENT(sphinx-man)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${name}.${sec}
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${name}.${sec}
|
||||||
DESTINATION ${CMAKE_MAN_DIR}/man${sec}
|
DESTINATION ${CMAKE_MAN_DIR}/man${sec}
|
||||||
COMPONENT sphinx-man)
|
${COMPONENT})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SPHINX_HTML)
|
if(SPHINX_HTML)
|
||||||
|
CMake_OPTIONAL_COMPONENT(sphinx-html)
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
|
||||||
DESTINATION ${CMAKE_DOC_DIR}
|
DESTINATION ${CMAKE_DOC_DIR}
|
||||||
COMPONENT sphinx-html
|
${COMPONENT}
|
||||||
PATTERN .buildinfo EXCLUDE
|
PATTERN .buildinfo EXCLUDE
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SPHINX_SINGLEHTML)
|
if(SPHINX_SINGLEHTML)
|
||||||
|
CMake_OPTIONAL_COMPONENT(sphinx-singlehtml)
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/singlehtml
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/singlehtml
|
||||||
DESTINATION ${CMAKE_DOC_DIR}
|
DESTINATION ${CMAKE_DOC_DIR}
|
||||||
COMPONENT sphinx-singlehtml
|
${COMPONENT}
|
||||||
PATTERN .buildinfo EXCLUDE
|
PATTERN .buildinfo EXCLUDE
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SPHINX_QTHELP)
|
if(SPHINX_QTHELP)
|
||||||
|
CMake_OPTIONAL_COMPONENT(sphinx-qthelp)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake-${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}.qch
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake-${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}.qch
|
||||||
DESTINATION ${CMAKE_DOC_DIR} COMPONENT sphinx-qthelp
|
DESTINATION ${CMAKE_DOC_DIR} ${COMPONENT}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue