1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4
5# Block multiple inclusion because "CMakeCInformation.cmake" includes
6# "Platform/${CMAKE_SYSTEM_NAME}" even though the generic module
7# "CMakeSystemSpecificInformation.cmake" already included it.
8# The extra inclusion is a work-around documented next to the include()
9# call, so this can be removed when the work-around is removed.
10if(__UNIX_PATHS_INCLUDED)
11  return()
12endif()
13set(__UNIX_PATHS_INCLUDED 1)
14
15set(UNIX 1)
16
17# also add the install directory of the running cmake to the search directories
18# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
19get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
20get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
21
22# List common installation prefixes.  These will be used for all
23# search types.
24#
25# Reminder when adding new locations computed from environment variables
26# please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
27# synchronized
28list(APPEND CMAKE_SYSTEM_PREFIX_PATH
29  # Standard
30  /usr/local /usr /
31
32  # CMake install location
33  "${_CMAKE_INSTALL_DIR}"
34  )
35if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
36  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
37    # Project install destination.
38    "${CMAKE_INSTALL_PREFIX}"
39  )
40  if(CMAKE_STAGING_PREFIX)
41    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
42      # User-supplied staging prefix.
43      "${CMAKE_STAGING_PREFIX}"
44    )
45  endif()
46endif()
47
48# Non "standard" but common install prefixes
49list(APPEND CMAKE_SYSTEM_PREFIX_PATH
50  /usr/local
51  /usr/pkg
52  /opt
53  )
54
55# List common include file locations not under the common prefixes.
56list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
57  # X11
58  /usr/include/X11
59  )
60
61list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
62  # X11
63  /usr/lib/X11
64  )
65
66list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
67  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
68  )
69
70if(CMAKE_SYSROOT_COMPILE)
71  set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
72else()
73  set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
74endif()
75
76# Default per-language values.  These may be later replaced after
77# parsing the implicit directory information from compiler output.
78set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT
79  ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES}
80  "${_cmake_sysroot_compile}/usr/include"
81  )
82set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT
83  ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
84  "${_cmake_sysroot_compile}/usr/include"
85  )
86set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT
87  ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES}
88  "${_cmake_sysroot_compile}/usr/include"
89  )
90
91unset(_cmake_sysroot_compile)
92
93# Reminder when adding new locations computed from environment variables
94# please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
95# synchronized
96if(CMAKE_COMPILER_SYSROOT)
97  list(PREPEND CMAKE_SYSTEM_PREFIX_PATH "${CMAKE_COMPILER_SYSROOT}")
98
99  if(DEFINED ENV{CONDA_PREFIX} AND EXISTS "$ENV{CONDA_PREFIX}")
100    list(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{CONDA_PREFIX}")
101  endif()
102endif()
103
104# Enable use of lib32 and lib64 search path variants by default.
105set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS TRUE)
106set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
107set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS TRUE)
108