mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-20 09:54:28 +02:00

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 #431.
22 lines
635 B
CMake
22 lines
635 B
CMake
set(CMAKE_SYSTEM_NAME Linux)
|
|
set(CMAKE_SYSTEM_VERSION 1)
|
|
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
|
|
|
set(cross_triple $ENV{CROSS_TRIPLE})
|
|
set(cross_root $ENV{CROSS_ROOT})
|
|
|
|
set(CMAKE_C_COMPILER $ENV{CC})
|
|
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
|
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|
|
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
|
|
|
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
|
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
|
|
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64)
|