*/Toolchain.cmake: Set CMAKE_FIND_ROOT_PATH_LIBRARY/INCLUDE to ONLY

For some reason, the default setting in all Toolchain.cmake
is:
```
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
```

For cross-compilation, CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
makes sense (we only want to find executables in host system root),
but CMAKE_FIND_ROOT_PATH_MODE_LIBRARY/INCLUDE should be set
to ONLY, otherwise cmake may find libraries in host system root,
and try to link with incompatible libraries (instead of
cross-compilation sysroot).

Fixes .
This commit is contained in:
Nicolas Boichat
2025-02-23 15:51:11 +01:00
parent b7f8ddd484
commit 69c4db9338
37 changed files with 74 additions and 74 deletions
CONTRIBUTING.md
android-arm
android-arm64
android-x86
android-x86_64
linux-arm64-full
linux-arm64-lts
linux-arm64-musl
linux-arm64
linux-armv5-musl
linux-armv5-uclibc
linux-armv5
linux-armv6-lts
linux-armv6-musl
linux-armv6
linux-armv7-lts
linux-armv7
linux-armv7a-lts
linux-armv7a
linux-armv7l-musl
linux-i686
linux-m68k-uclibc
linux-mips-lts
linux-mips-uclibc
linux-mips
linux-mipsel-lts
linux-ppc
linux-ppc64le-lts
linux-ppc64le
linux-riscv32
linux-riscv64
linux-s390x
linux-x86_64-full
linux-xtensa-uclibc
manylinux2014-aarch64
windows-arm64
windows-armv7

@@ -17,8 +17,8 @@ set(CMAKE_SHARED_LINKER_FLAGS "-llog")
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)