summaryrefslogtreecommitdiff
path: root/eclass/cmake.eclass
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2023-02-27 23:19:46 +0000
committerAndreas Sturmlechner <asturm@gentoo.org>2023-03-23 20:31:21 +0100
commitfa01350086b8d254a03250c6ffab5f2ed4de93b3 (patch)
treee7ee79554e880ab1044f908ab82beb90c10ff355 /eclass/cmake.eclass
parentdfa1acfc797304d73d4014b0c2df7e849878c075 (diff)
downloadkde-fa01350086b8d254a03250c6ffab5f2ed4de93b3.tar.gz
kde-fa01350086b8d254a03250c6ffab5f2ed4de93b3.tar.bz2
kde-fa01350086b8d254a03250c6ffab5f2ed4de93b3.zip
cmake.eclass: Set CMAKE_SYSROOT in toolchain file when necessary
We previously set CMAKE_FIND_ROOT_PATH, but CMAKE_SYSROOT also sets this and more. The latter is needed when cross-compiling Fortran code such as sci-libs/lapack. Without this, it uses the toolchain's default sysroot, adds a -L/usr/${CHOST}/usr/lib flag based on that, reads the libc.so.6 ld script from this directory, does not apply any sysroot to the paths within because the script is outside the sysroot, and finally fails when attempting to link the host's libc.so.6. Signed-off-by: James Le Cuirot <chewi@gentoo.org> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'eclass/cmake.eclass')
-rw-r--r--eclass/cmake.eclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index b12b8ec8d68..1986e5cf085 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -502,7 +502,7 @@ cmake_src_configure() {
# When cross-compiling with a sysroot (e.g. with crossdev's emerge wrappers)
# we need to tell cmake to use libs/headers from the sysroot but programs from / only.
cat >> "${toolchain_file}" <<- _EOF_ || die
- set(CMAKE_FIND_ROOT_PATH "${SYSROOT}")
+ set(CMAKE_SYSROOT "${ESYSROOT}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)