UnixPaths.cmake 3.3 KB

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