51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
|
|
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
|
||
|
|
index e95da44ea4..bdf4155232 100644
|
||
|
|
--- a/Modules/Platform/UnixPaths.cmake
|
||
|
|
+++ b/Modules/Platform/UnixPaths.cmake
|
||
|
|
@@ -71,28 +71,38 @@
|
||
|
|
/lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
|
||
|
|
)
|
||
|
|
|
||
|
|
-if(CMAKE_SYSROOT_COMPILE)
|
||
|
|
- set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
|
||
|
|
+# Add the Nix C library paths.
|
||
|
|
+if(DEFINED ENV{NIX_CC}
|
||
|
|
+ AND IS_DIRECTORY "$ENV{NIX_CC}"
|
||
|
|
+ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc"
|
||
|
|
+ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc-dev")
|
||
|
|
+ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc" _nix_cmake_libc)
|
||
|
|
+ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc-dev" _nix_cmake_libc_dev)
|
||
|
|
else()
|
||
|
|
- set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
|
||
|
|
+ set(_nix_cmake_libc @libc_lib@)
|
||
|
|
+ set(_nix_cmake_libc_dev @libc_dev@)
|
||
|
|
endif()
|
||
|
|
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH "${_nix_cmake_libc_dev}/include")
|
||
|
|
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH "${_nix_cmake_libc}/lib")
|
||
|
|
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${_nix_cmake_libc}/lib")
|
||
|
|
|
||
|
|
# Default per-language values. These may be later replaced after
|
||
|
|
# parsing the implicit directory information from compiler output.
|
||
|
|
set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT
|
||
|
|
${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES}
|
||
|
|
- "${_cmake_sysroot_compile}/usr/include"
|
||
|
|
+ "${_nix_cmake_libc_dev}/include"
|
||
|
|
)
|
||
|
|
set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT
|
||
|
|
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
|
||
|
|
- "${_cmake_sysroot_compile}/usr/include"
|
||
|
|
+ "${_nix_cmake_libc_dev}/include"
|
||
|
|
)
|
||
|
|
set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT
|
||
|
|
${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES}
|
||
|
|
- "${_cmake_sysroot_compile}/usr/include"
|
||
|
|
+ "${_nix_cmake_libc_dev}/include"
|
||
|
|
)
|
||
|
|
|
||
|
|
-unset(_cmake_sysroot_compile)
|
||
|
|
+unset(_nix_cmake_libc)
|
||
|
|
+unset(_nix_cmake_libc_dev)
|
||
|
|
|
||
|
|
# Reminder when adding new locations computed from environment variables
|
||
|
|
# please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
|