Skip to content

Commit e5a7596

Browse files
authored
Update CMake settings for cross-compilation
1 parent 8476ce6 commit e5a7596

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

toolbox/overlay-triplets/speedgoat-linux-toolchain.cmake

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ set(CMAKE_CXX_COMPILER ${CMAKE_SYSTEM_PROCESSOR}-speedgoat-linux-g++)
2828

2929
# Sysroot
3030
string(REPLACE "\"" "" SDKTARGETSYSROOT "$ENV{SDKTARGETSYSROOT}")
31-
set(CMAKE_SYSROOT "${SDKTARGETSYSROOT}")
31+
set(CMAKE_SYSROOT "${SDKTARGETSYSROOT}" CACHE PATH "")
32+
set(CMAKE_FIND_ROOT_PATH "${CMAKE_SYSROOT}" CACHE PATH "")
3233

3334
# Optimize for target architecture
3435
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
@@ -39,11 +40,16 @@ else()
3940
message(FATAL_ERROR "Unsupported processor architecture='${CMAKE_SYSTEM_PROCESSOR}'. Use aarch64|x86_64.")
4041
endif()
4142

42-
# Make sure CMake finds things in the sysroot first
43-
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
44-
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
45-
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
46-
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
43+
# Host tools only (executables used during configure/build)
44+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
45+
46+
# Target artifacts only (resolved via sysroot / root path)
47+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
48+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
49+
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
50+
51+
# Avoid try_run / executable checks during configuration on a cross build.
52+
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
4753

4854
# Set fPIC flag
49-
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
55+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

0 commit comments

Comments
 (0)