mirror of
https://git.yoctoproject.org/poky
synced 2026-05-01 15:32:12 +02:00
Setting CMAKE_SYSROOT in the toolchain file allows CMake to correctly remove user-provided system include directories pointing to <sysroot>/usr/include. The mentioned projects failed with "stdlib.h: No such file or directory #include_next <stdlib.h>". (From OE-Core rev: cb42802f2fe1760f894a435b07286bca3a220364) Signed-off-by: Urs Fässler <urs.fassler@bbv.ch> Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
26 lines
1.1 KiB
CMake
26 lines
1.1 KiB
CMake
set( CMAKE_SYSTEM_NAME Linux )
|
|
set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE )
|
|
set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE )
|
|
set( CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
|
|
set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE )
|
|
set( CMAKE_SYSROOT $ENV{OECORE_TARGET_SYSROOT} )
|
|
|
|
set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} )
|
|
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_FIND_ROOT_PATH_MODE_PACKAGE ONLY )
|
|
|
|
set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX "$ENV{OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX}")
|
|
|
|
# Set CMAKE_SYSTEM_PROCESSOR from the sysroot name (assuming processor-distro-os).
|
|
if ($ENV{SDKTARGETSYSROOT} MATCHES "/sysroots/([a-zA-Z0-9_-]+)-.+-.+")
|
|
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_MATCH_1})
|
|
endif()
|
|
|
|
# Include the toolchain configuration subscripts
|
|
file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" )
|
|
foreach(config ${toolchain_config_files})
|
|
include(${config})
|
|
endforeach()
|