summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/cmake/001-search-path.diff
blob: 04ab0847a70744eadcaa9e345707279ec27dc3e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index b9381c3d7d..5e944640b5 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -26,9 +26,6 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
 # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
 # synchronized
 list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  # Standard
-  /usr/local /usr /
-
   # CMake install location
   "${_CMAKE_INSTALL_DIR}"
   )
@@ -47,48 +44,49 @@ endif()
 
 # Non "standard" but common install prefixes
 list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-  /usr/X11R6
-  /usr/pkg
-  /opt
   )
 
 # List common include file locations not under the common prefixes.
+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(_nix_cmake_libc @libc_lib@)
+  set(_nix_cmake_libc_dev @libc_dev@)
+endif()
+
 list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
-  # X11
-  /usr/include/X11
+  "${_nix_cmake_libc_dev}/include"
   )
 
 list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
-  # X11
-  /usr/lib/X11
+  "${_nix_cmake_libc}/lib"
   )
 
 list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
-  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
+  "${_nix_cmake_libc}/lib"
   )
 
-if(CMAKE_SYSROOT_COMPILE)
-  set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}")
-else()
-  set(_cmake_sysroot_compile "${CMAKE_SYSROOT}")
-endif()
-
 # 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
diff --git a/Modules/Platform/WindowsPaths.cmake b/Modules/Platform/WindowsPaths.cmake
index b9e2f17979..ab517cd4a7 100644
--- a/Modules/Platform/WindowsPaths.cmake
+++ b/Modules/Platform/WindowsPaths.cmake
@@ -70,7 +70,7 @@ endif()
 
 if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
   # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set)
-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
+  # list(APPEND CMAKE_SYSTEM_PREFIX_PATH /)
 endif()
 
 list(APPEND CMAKE_SYSTEM_INCLUDE_PATH