[OE-core] [PATCH] cmake.bbclass: Set CMAKE_CROSSCOMPILING correctly
Kyle Russell
bkylerussell at gmail.com
Tue Apr 18 15:02:04 UTC 2017
If CMAKE_SYSTEM_NAME is defined, CMake assumes we're cross-compiling,
which is not necessarily the case.
---
meta/classes/cmake.bbclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index 9e74599..2dbaa8c 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -42,9 +42,13 @@ def map_target_arch_to_uname_arch(target_arch):
return target_arch
cmake_do_generate_toolchain_file() {
+ if [ "${BUILD_SYS}" == "${HOST_SYS}" ]; then
+ CMAKE_CROSSCOMPILING="set( CMAKE_CROSSCOMPILING FALSE )"
+ fi
cat > ${WORKDIR}/toolchain.cmake <<EOF
# CMake system name must be something like "Linux".
# This is important for cross-compiling.
+${CMAKE_CROSSCOMPILING}
set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` )
set( CMAKE_SYSTEM_PROCESSOR ${@map_target_arch_to_uname_arch(d.getVar('TARGET_ARCH'))} )
set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
--
2.7.4
More information about the Openembedded-core
mailing list