mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Merge topic 'cmake-install-components'
9ce7a663Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macrod7725a17CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installerecca2685CMake: optional show LGPLv2.1 license when install cmake-gui componentc14f20f7CMake: Fix Web Site shortcut in IFW installer for Windowsc823f04eCMake: New option CMake_INSTALL_COMPONENTS7383e4d7CMake: Install COMPONENTs (sphinx-man)2531b909CMake: Install COMPONENTs (QtDialog)938bbc43CMake: Install COMPONENTs
This commit is contained in:
@@ -735,9 +735,17 @@ endif()
|
||||
include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
||||
include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
||||
|
||||
install(TARGETS cmake ctest cpack DESTINATION bin)
|
||||
# Install tools
|
||||
|
||||
set(_tools cmake ctest cpack)
|
||||
|
||||
if(APPLE)
|
||||
install(TARGETS cmakexbuild DESTINATION bin)
|
||||
list(APPEND _tools cmakexbuild)
|
||||
endif()
|
||||
|
||||
foreach(_tool ${_tools})
|
||||
CMake_OPTIONAL_COMPONENT(${_tool})
|
||||
install(TARGETS ${_tool} DESTINATION bin ${COMPONENT})
|
||||
endforeach()
|
||||
|
||||
install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
|
||||
|
||||
@@ -47,4 +47,5 @@ else()
|
||||
target_link_libraries(ccmake cmForm)
|
||||
endif()
|
||||
|
||||
install(TARGETS ccmake DESTINATION bin)
|
||||
CMake_OPTIONAL_COMPONENT(ccmake)
|
||||
install(TARGETS ccmake DESTINATION bin ${COMPONENT})
|
||||
|
||||
@@ -14,6 +14,7 @@ project(QtDialog)
|
||||
if(POLICY CMP0020)
|
||||
cmake_policy(SET CMP0020 NEW) # Drop when CMake >= 2.8.11 required
|
||||
endif()
|
||||
CMake_OPTIONAL_COMPONENT(cmake-gui)
|
||||
find_package(Qt5Widgets QUIET)
|
||||
if (Qt5Widgets_FOUND)
|
||||
include_directories(${Qt5Widgets_INCLUDE_DIRS})
|
||||
@@ -47,7 +48,8 @@ if (Qt5Widgets_FOUND)
|
||||
get_filename_component(_qt_plugin_type "${_qt_plugin_type}" NAME)
|
||||
set(_qt_plugin_dest "PlugIns/${_qt_plugin_type}")
|
||||
install(FILES "${_qt_plugin_path}"
|
||||
DESTINATION "${_qt_plugin_dest}")
|
||||
DESTINATION "${_qt_plugin_dest}"
|
||||
${COMPONENT})
|
||||
set(${_qt_plugins_var}
|
||||
"${${_qt_plugins_var}};\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}")
|
||||
else()
|
||||
@@ -58,7 +60,8 @@ if (Qt5Widgets_FOUND)
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/qt.conf"
|
||||
"[Paths]\nPlugins = PlugIns\n")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources")
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
|
||||
${COMPONENT})
|
||||
endif()
|
||||
|
||||
if(WIN32 AND TARGET Qt5::Core)
|
||||
@@ -130,7 +133,8 @@ endif()
|
||||
|
||||
if(CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
||||
install(FILES ${CMake_SOURCE_DIR}/Licenses/LGPLv2.1.txt
|
||||
DESTINATION ${CMAKE_DATA_DIR}/Licenses)
|
||||
DESTINATION ${CMAKE_DATA_DIR}/Licenses
|
||||
${COMPONENT})
|
||||
set_property(SOURCE CMakeSetupDialog.cxx
|
||||
PROPERTY COMPILE_DEFINITIONS CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL)
|
||||
endif()
|
||||
@@ -163,27 +167,36 @@ if(APPLE)
|
||||
)
|
||||
endif()
|
||||
set(CMAKE_INSTALL_DESTINATION_ARGS
|
||||
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
|
||||
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" ${COMPONENT})
|
||||
|
||||
install(TARGETS cmake-gui RUNTIME DESTINATION bin ${CMAKE_INSTALL_DESTINATION_ARGS})
|
||||
install(TARGETS cmake-gui
|
||||
RUNTIME DESTINATION bin ${COMPONENT}
|
||||
${CMAKE_INSTALL_DESTINATION_ARGS})
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
foreach (size IN ITEMS 32 128)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetup${size}.png"
|
||||
DESTINATION "share/icons/hicolor/${size}x${size}/apps"
|
||||
${COMPONENT}
|
||||
RENAME "CMakeSetup.png")
|
||||
endforeach ()
|
||||
|
||||
# install a desktop file so CMake appears in the application start menu
|
||||
# with an icon
|
||||
install(FILES CMake.desktop DESTINATION share/applications )
|
||||
install(FILES cmakecache.xml DESTINATION share/mime/packages )
|
||||
install(FILES CMake.desktop
|
||||
DESTINATION share/applications
|
||||
${COMPONENT})
|
||||
install(FILES cmakecache.xml
|
||||
DESTINATION share/mime/packages
|
||||
${COMPONENT})
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
install(CODE "execute_process(COMMAND ln -s \"../MacOS/CMake\" cmake-gui
|
||||
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
|
||||
install(CODE "
|
||||
execute_process(COMMAND ln -s \"../MacOS/CMake\" cmake-gui
|
||||
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)
|
||||
" ${COMPONENT})
|
||||
endif()
|
||||
|
||||
if(APPLE OR WIN32)
|
||||
@@ -197,7 +210,7 @@ if(APPLE OR WIN32)
|
||||
include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
|
||||
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||
fixup_bundle(\"${fixup_exe}\" \"${QT_PLUGINS}\" \"${QT_LIBRARY_DIR};${QT_BINARY_DIR}\")
|
||||
")
|
||||
" ${COMPONENT})
|
||||
endif()
|
||||
|
||||
set(CMAKE_PACKAGE_QTGUI TRUE)
|
||||
|
||||
21
Source/QtIFW/CMake.Dialogs.QtGUI.qs
Normal file
21
Source/QtIFW/CMake.Dialogs.QtGUI.qs
Normal file
@@ -0,0 +1,21 @@
|
||||
// Component: CMake.Dialogs.QtGUI
|
||||
|
||||
function Component()
|
||||
{
|
||||
// Default constructor
|
||||
}
|
||||
|
||||
Component.prototype.createOperations = function()
|
||||
{
|
||||
// Create shortcut
|
||||
if (installer.value("os") === "win") {
|
||||
|
||||
component.addOperation("CreateShortcut",
|
||||
installer.value("TargetDir") + "/bin/cmake-gui.exe",
|
||||
installer.value("StartMenuDir") + "/CMake (cmake-gui).lnk");
|
||||
|
||||
}
|
||||
|
||||
// Call default implementation
|
||||
component.createOperations();
|
||||
}
|
||||
21
Source/QtIFW/CMake.Documentation.SphinxHTML.qs.in
Normal file
21
Source/QtIFW/CMake.Documentation.SphinxHTML.qs.in
Normal file
@@ -0,0 +1,21 @@
|
||||
// Component: CMake.Documentation.SphinxHTML
|
||||
|
||||
function Component()
|
||||
{
|
||||
// Default constructor
|
||||
}
|
||||
|
||||
Component.prototype.createOperations = function()
|
||||
{
|
||||
// Create shortcut
|
||||
if (installer.value("os") === "win") {
|
||||
|
||||
component.addOperation("CreateShortcut",
|
||||
installer.value("TargetDir") + "/@CMAKE_DOC_DIR@/html/index.html",
|
||||
installer.value("StartMenuDir") + "/CMake Documentation.lnk");
|
||||
|
||||
}
|
||||
|
||||
// Call default implementation
|
||||
component.createOperations();
|
||||
}
|
||||
22
Source/QtIFW/CMake.qs.in
Normal file
22
Source/QtIFW/CMake.qs.in
Normal file
@@ -0,0 +1,22 @@
|
||||
function Component()
|
||||
{
|
||||
// Default constructor
|
||||
}
|
||||
|
||||
Component.prototype.createOperations = function()
|
||||
{
|
||||
// Create shortcut
|
||||
if (installer.value("os") === "win") {
|
||||
|
||||
component.addOperation("CreateShortcut",
|
||||
installer.value("TargetDir") + "/@CMAKE_DOC_DIR@/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");
|
||||
}
|
||||
|
||||
// Call default implementation
|
||||
component.createOperations();
|
||||
}
|
||||
@@ -5,20 +5,20 @@ function Component()
|
||||
|
||||
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("TargetDir") + "/@CMAKE_DOC_DIR@/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");
|
||||
}
|
||||
|
||||
// Call default implementation
|
||||
component.createOperations();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user