mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 00:32:13 +02:00
cmake: add CMAKE_SYSROOT to generated toolchain file
This already got fixed in the toolchain file that is used during development
in cb42802f2f
The toolchain file generated by the cmake.bbclass however does not set
CMAKE_SYSROOT. Under certain circumstances this also leads to the error:
`"stdlib.h: No such file or directory #include_next <stdlib.h>"`
during the build of a recipe.
An example where this accured was during the upgrade of the Apache Thrift
recipe in meta-openembedded to 0.11.0. With this change the build works out of
the box.
CMAKE_SYSROOT must only be set when crosscompiling, otherwise it will interfere
with the native compiler headers.
(From OE-Core rev: 1105c67d554bcd155e8247cb16efc8d6a642444f)
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
(from http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154791.html )
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
ca44c2d0dc
commit
c98c4d74dc
@@ -85,9 +85,12 @@ def map_host_arch_to_uname_arch(host_arch):
|
||||
return "ppc64"
|
||||
return host_arch
|
||||
|
||||
|
||||
cmake_do_generate_toolchain_file() {
|
||||
if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
|
||||
cmake_crosscompiling="set( CMAKE_CROSSCOMPILING FALSE )"
|
||||
else
|
||||
cmake_sysroot="set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )"
|
||||
fi
|
||||
cat > ${WORKDIR}/toolchain.cmake <<EOF
|
||||
# CMake system name must be something like "Linux".
|
||||
@@ -120,6 +123,8 @@ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
|
||||
set( CMAKE_PROGRAM_PATH "/" )
|
||||
|
||||
$cmake_sysroot
|
||||
|
||||
# Use qt.conf settings
|
||||
set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user