nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
2index e95da44ea4..bdf4155232 100644
3--- a/Modules/Platform/UnixPaths.cmake
4+++ b/Modules/Platform/UnixPaths.cmake
5@@ -71,28 +71,38 @@
6 /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
7 )
8
9-if(CMAKE_SYSROOT_COMPILE)
10- set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
11+# Add the Nix C library paths.
12+if(DEFINED ENV{NIX_CC}
13+ AND IS_DIRECTORY "$ENV{NIX_CC}"
14+ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc"
15+ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc-dev")
16+ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc" _nix_cmake_libc)
17+ file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc-dev" _nix_cmake_libc_dev)
18 else()
19- set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
20+ set(_nix_cmake_libc @libc_lib@)
21+ set(_nix_cmake_libc_dev @libc_dev@)
22 endif()
23+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH "${_nix_cmake_libc_dev}/include")
24+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH "${_nix_cmake_libc}/lib")
25+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${_nix_cmake_libc}/lib")
26
27 # Default per-language values. These may be later replaced after
28 # parsing the implicit directory information from compiler output.
29 set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT
30 ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES}
31- "${_cmake_sysroot_compile}/usr/include"
32+ "${_nix_cmake_libc_dev}/include"
33 )
34 set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT
35 ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
36- "${_cmake_sysroot_compile}/usr/include"
37+ "${_nix_cmake_libc_dev}/include"
38 )
39 set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT
40 ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES}
41- "${_cmake_sysroot_compile}/usr/include"
42+ "${_nix_cmake_libc_dev}/include"
43 )
44
45-unset(_cmake_sysroot_compile)
46+unset(_nix_cmake_libc)
47+unset(_nix_cmake_libc_dev)
48
49 # Reminder when adding new locations computed from environment variables
50 # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst