diff options
author | Brad King <brad.king@kitware.com> | 2013-08-26 15:50:08 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-08-26 15:54:07 (GMT) |
commit | df62f64db72b6f00657e9e739e1e117639dea9da (patch) | |
tree | 88a64dd1f0579ab27b18b0911c817c1e556b3259 /CMakeLists.txt | |
parent | 8da09f6ee1a59cbef6327d2a88ab8ba5f8b29b1a (diff) | |
download | CMake-df62f64db72b6f00657e9e739e1e117639dea9da.zip CMake-df62f64db72b6f00657e9e739e1e117639dea9da.tar.gz CMake-df62f64db72b6f00657e9e739e1e117639dea9da.tar.bz2 |
Clean up install rules of CMake itself (#14371)
Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always
relative paths in CMake code, and set defaults accordingly. Use the
install() command instead of install_files() and install_targets().
This is more modern and also avoids stripping of the first character
from user-specified destinations.
While at it, fix the default destinations reported in the bootstrap
help.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 75d372d..1fbbe08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -231,7 +231,7 @@ macro (CMAKE_BUILD_UTILITIES) set(KWSYS_USE_Process 1) set(KWSYS_USE_CommandLineArguments 1) set(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source) - set(KWSYS_INSTALL_DOC_DIR "${CMake_DOC_DEST}") + set(KWSYS_INSTALL_DOC_DIR "${CMAKE_DOC_DIR}") add_subdirectory(Source/kwsys) set(kwsys_folder "Utilities/KWSys") CMAKE_SET_TARGET_FOLDER(${KWSYS_NAMESPACE} "${kwsys_folder}") @@ -460,26 +460,27 @@ set(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL # install tree. set(CMAKE_SKIP_RPATH ON CACHE INTERNAL "CMake does not need RPATHs.") -set(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING +set(CMAKE_DATA_DIR "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING "Install location for data (relative to prefix).") -set(CMAKE_DOC_DIR "/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING +set(CMAKE_DOC_DIR "doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING "Install location for documentation (relative to prefix).") -set(CMAKE_MAN_DIR "/man" CACHE STRING +set(CMAKE_MAN_DIR "man" CACHE STRING "Install location for man pages (relative to prefix).") mark_as_advanced(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR) if(CYGWIN AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") # Force doc, data and man dirs to conform to cygwin layout. - set(CMAKE_DOC_DIR "/share/doc/cmake-${CMake_VERSION}") - set(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION}") - set(CMAKE_MAN_DIR "/share/man") + set(CMAKE_DOC_DIR "share/doc/cmake-${CMake_VERSION}") + set(CMAKE_DATA_DIR "share/cmake-${CMake_VERSION}") + set(CMAKE_MAN_DIR "share/man") # let the user know we just forced these values message(STATUS "Setup for Cygwin packaging") message(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}") message(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}") message(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}") endif() -string(REGEX REPLACE "^/" "" CMake_DATA_DEST "${CMAKE_DATA_DIR}") -string(REGEX REPLACE "^/" "" CMake_DOC_DEST "${CMAKE_DOC_DIR}") +string(REGEX REPLACE "^/" "" CMAKE_DATA_DIR "${CMAKE_DATA_DIR}") +string(REGEX REPLACE "^/" "" CMAKE_DOC_DIR "${CMAKE_DOC_DIR}") +string(REGEX REPLACE "^/" "" CMAKE_MAN_DIR "${CMAKE_MAN_DIR}") if(BUILD_TESTING) include(${CMake_SOURCE_DIR}/Tests/CMakeInstall.cmake) @@ -625,12 +626,12 @@ add_test(SystemInformationNew "${CMAKE_CMAKE_COMMAND}" --system-information -G "${CMAKE_TEST_GENERATOR}" ) # Install license file as it requires. -install(FILES Copyright.txt DESTINATION ${CMake_DOC_DEST}) +install(FILES Copyright.txt DESTINATION ${CMAKE_DOC_DIR}) # Install script directories. install( DIRECTORY Modules Templates - DESTINATION "${CMake_DATA_DEST}" + DESTINATION ${CMAKE_DATA_DIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ DIRECTORY_PERMISSIONS OWNER_READ OWNER_EXECUTE OWNER_WRITE GROUP_READ GROUP_EXECUTE |