UnixPaths.cmake 2.48 KB
Newer Older
1 2
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
3 4


5 6 7 8 9
# Block multiple inclusion because "CMakeCInformation.cmake" includes
# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
# "CMakeSystemSpecificInformation.cmake" already included it.
# The extra inclusion is a work-around documented next to the include()
# call, so this can be removed when the work-around is removed.
10 11 12 13
if(__UNIX_PATHS_INCLUDED)
  return()
endif()
set(__UNIX_PATHS_INCLUDED 1)
14

15
set(UNIX 1)
Alexander Neundorf's avatar
 
Alexander Neundorf committed
16

Alexander Neundorf's avatar
 
Alexander Neundorf committed
17 18
# also add the install directory of the running cmake to the search directories
# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
19 20
get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
Alexander Neundorf's avatar
 
Alexander Neundorf committed
21

22 23
# List common installation prefixes.  These will be used for all
# search types.
24
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
25
  # Standard
26
  /usr/local /usr /
27

28 29 30
  # CMake install location
  "${_CMAKE_INSTALL_DIR}"
  )
31 32 33 34 35
if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
    # Project install destination.
    "${CMAKE_INSTALL_PREFIX}"
  )
36 37 38 39 40 41
  if(CMAKE_STAGING_PREFIX)
    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
      # User-supplied staging prefix.
      "${CMAKE_STAGING_PREFIX}"
    )
  endif()
42
endif()
43

44 45 46 47 48 49 50
# Non "standard" but common install prefixes
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
  /usr/X11R6
  /usr/pkg
  /opt
  )

51
# List common include file locations not under the common prefixes.
52
list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
53
  # X11
54
  /usr/include/X11
55 56
  )

57
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
58
  # X11
59
  /usr/lib/X11
60
  )
61

62
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
63
  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
64 65
  )

66 67 68 69 70 71 72
# Platform-wide directories to avoid adding via -I<dir>.
list(APPEND CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES
  /usr/include
  )

# Default per-language values.  These may be later replaced after
# parsing the implicit link directories from compiler output.
73
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
74 75
  /usr/include
  )
76
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
77 78
  /usr/include
  )
79 80 81
list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES
  /usr/include
  )
82

83 84
# Enable use of lib32 and lib64 search path variants by default.
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
85
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
Steven Newbury's avatar
Steven Newbury committed
86
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS TRUE)