mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
nativesdk-cmake: Adjust toolchain paths dynamically
This patch adds a flexible way to configure the CMake in SDKs. It adds a toolchain configuration script which supports subscripts for extensions, as for example Qt5. (From OE-Core rev: 4143f3b0ce0d0c52f5b0babc1bb16ac0ac9610eb) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ce339dde32
commit
dacc4ce59e
18
meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
Normal file
18
meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
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_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 )
|
||||
|
||||
string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT})
|
||||
string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
|
||||
|
||||
# Include the toolchain configuration subscripts
|
||||
file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" )
|
||||
foreach(config ${toolchain_config_files})
|
||||
include(${config})
|
||||
endforeach()
|
||||
1
meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
Normal file
1
meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
Normal file
@@ -0,0 +1 @@
|
||||
alias cmake="cmake -DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
|
||||
@@ -6,6 +6,10 @@ DEPENDS += "curl expat zlib libarchive"
|
||||
|
||||
SRC_URI += "file://dont-run-cross-binaries.patch"
|
||||
|
||||
SRC_URI_append_class-nativesdk = " \
|
||||
file://OEToolchainConfig.cmake \
|
||||
file://environment.d-cmake.sh"
|
||||
|
||||
SRC_URI[md5sum] = "17c6513483d23590cbce6957ec6d1e66"
|
||||
SRC_URI[sha256sum] = "8c6574e9afabcb9fc66f463bb1f2f051958d86c85c37fccf067eb1a44a120e5e"
|
||||
|
||||
@@ -32,6 +36,16 @@ EXTRA_OECMAKE=" \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \
|
||||
"
|
||||
|
||||
do_install_append_class-nativesdk() {
|
||||
mkdir -p ${D}${datadir}/cmake
|
||||
install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
|
||||
|
||||
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
|
||||
install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh
|
||||
}
|
||||
|
||||
FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}"
|
||||
|
||||
FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION}"
|
||||
FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user