summaryrefslogtreecommitdiff
path: root/Source/CMakeInstallDestinations.cmake
blob: e82bec3cd055835e96092fd52663b7b73314ea63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Keep formatting here consistent with bootstrap script expectations.
if(BEOS)
  set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
  set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
  set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
  set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
  set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
  set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
elseif(CYGWIN)
  set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
  set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
  set(CMAKE_DOC_DIR_DEFAULT "share/doc/cmake-${CMake_VERSION}") # CYGWIN
  set(CMAKE_INFO_DIR_DEFAULT "share/info") # CYGWIN
  set(CMAKE_MAN_DIR_DEFAULT "share/man") # CYGWIN
  set(CMAKE_XDGDATA_DIR_DEFAULT "share") # CYGWIN
else()
  set(CMAKE_BIN_DIR_DEFAULT "bin") # OTHER
  set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
  set(CMAKE_DOC_DIR_DEFAULT "doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
  set(CMAKE_INFO_DIR_DEFAULT "info") # OTHER
  set(CMAKE_MAN_DIR_DEFAULT "man") # OTHER
  set(CMAKE_XDGDATA_DIR_DEFAULT "share") # OTHER
endif()

set(CMAKE_BIN_DIR_DESC "bin")
set(CMAKE_DATA_DIR_DESC "data")
set(CMAKE_DOC_DIR_DESC "docs")
set(CMAKE_INFO_DIR_DESC "Info manual")
set(CMAKE_MAN_DIR_DESC "man pages")
set(CMAKE_XDGDATA_DIR_DESC "XDG specific files")

set(CMake_INSTALL_INFIX "" CACHE STRING "")
set_property(CACHE CMake_INSTALL_INFIX PROPERTY HELPSTRING
  "Intermediate installation path (empty by default)"
  )
mark_as_advanced(CMake_INSTALL_INFIX)

foreach(v
    CMAKE_BIN_DIR
    CMAKE_DATA_DIR
    CMAKE_DOC_DIR
    CMAKE_INFO_DIR
    CMAKE_MAN_DIR
    CMAKE_XDGDATA_DIR
    )
  # Populate the cache with empty values so we know when the user sets them.
  set(${v} "" CACHE STRING "")
  set_property(CACHE ${v} PROPERTY HELPSTRING
    "Location under install prefix for ${${v}_DESC} (default \"${${v}_DEFAULT}\")"
    )
  set_property(CACHE ${v} PROPERTY ADVANCED 1)

  # Use the default when the user did not set this variable.
  if(NOT ${v})
    set(${v} "${CMake_INSTALL_INFIX}${${v}_DEFAULT}")
  endif()
  # Remove leading slash to treat as relative to install prefix.
  string(REGEX REPLACE "^/" "" ${v} "${${v}}")
endforeach()