Merge branch 'release-3.29'
[kiteware-cmake.git] / Source / CMakeInstallDestinations.cmake
blobe82bec3cd055835e96092fd52663b7b73314ea63
1 # Keep formatting here consistent with bootstrap script expectations.
2 if(BEOS)
3   set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
4   set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
5   set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
6   set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
7   set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
8   set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
9 elseif(CYGWIN)
10   set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
11   set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
12   set(CMAKE_DOC_DIR_DEFAULT "share/doc/cmake-${CMake_VERSION}") # CYGWIN
13   set(CMAKE_INFO_DIR_DEFAULT "share/info") # CYGWIN
14   set(CMAKE_MAN_DIR_DEFAULT "share/man") # CYGWIN
15   set(CMAKE_XDGDATA_DIR_DEFAULT "share") # CYGWIN
16 else()
17   set(CMAKE_BIN_DIR_DEFAULT "bin") # OTHER
18   set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
19   set(CMAKE_DOC_DIR_DEFAULT "doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
20   set(CMAKE_INFO_DIR_DEFAULT "info") # OTHER
21   set(CMAKE_MAN_DIR_DEFAULT "man") # OTHER
22   set(CMAKE_XDGDATA_DIR_DEFAULT "share") # OTHER
23 endif()
25 set(CMAKE_BIN_DIR_DESC "bin")
26 set(CMAKE_DATA_DIR_DESC "data")
27 set(CMAKE_DOC_DIR_DESC "docs")
28 set(CMAKE_INFO_DIR_DESC "Info manual")
29 set(CMAKE_MAN_DIR_DESC "man pages")
30 set(CMAKE_XDGDATA_DIR_DESC "XDG specific files")
32 set(CMake_INSTALL_INFIX "" CACHE STRING "")
33 set_property(CACHE CMake_INSTALL_INFIX PROPERTY HELPSTRING
34   "Intermediate installation path (empty by default)"
35   )
36 mark_as_advanced(CMake_INSTALL_INFIX)
38 foreach(v
39     CMAKE_BIN_DIR
40     CMAKE_DATA_DIR
41     CMAKE_DOC_DIR
42     CMAKE_INFO_DIR
43     CMAKE_MAN_DIR
44     CMAKE_XDGDATA_DIR
45     )
46   # Populate the cache with empty values so we know when the user sets them.
47   set(${v} "" CACHE STRING "")
48   set_property(CACHE ${v} PROPERTY HELPSTRING
49     "Location under install prefix for ${${v}_DESC} (default \"${${v}_DEFAULT}\")"
50     )
51   set_property(CACHE ${v} PROPERTY ADVANCED 1)
53   # Use the default when the user did not set this variable.
54   if(NOT ${v})
55     set(${v} "${CMake_INSTALL_INFIX}${${v}_DEFAULT}")
56   endif()
57   # Remove leading slash to treat as relative to install prefix.
58   string(REGEX REPLACE "^/" "" ${v} "${${v}}")
59 endforeach()