aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2020-06-16 14:35:41 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2020-06-16 16:01:38 +0300
commit3e639c94c75c1b9c5c42587ff513284dbdb8d5ed (patch)
tree52615581e185ff4786b8d146292295d3823f543c
parent713b97684910b1ffb333f7b1e8e19b6379cc39f0 (diff)
cmake: allow chainloading of the toolchain file
Override the default OEToolchainConfig.cmake file to use path from CMAKE_CURRENT_LIST_FILE to load the subscripts. This allows the toolchain file to be chainloaded from another toolchain file, namely qt.toolchain.cmake from Qt6. Task-number: QTBUG-85067 Change-Id: I34c6607306001f5685f8a519ac3f34a3662f30b6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
-rw-r--r--meta-boot2qt-distro/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake25
-rw-r--r--meta-boot2qt-distro/recipes-devtools/cmake/cmake_%.bbappend4
2 files changed, 28 insertions, 1 deletions
diff --git a/meta-boot2qt-distro/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/meta-boot2qt-distro/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
new file mode 100644
index 00000000..8f6f3a27
--- /dev/null
+++ b/meta-boot2qt-distro/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -0,0 +1,25 @@
+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} )
+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_CURRENT_LIST_FILE}.d/*.cmake" )
+foreach(config ${toolchain_config_files})
+ include(${config})
+endforeach()
diff --git a/meta-boot2qt-distro/recipes-devtools/cmake/cmake_%.bbappend b/meta-boot2qt-distro/recipes-devtools/cmake/cmake_%.bbappend
index d3603bf8..85da6aee 100644
--- a/meta-boot2qt-distro/recipes-devtools/cmake/cmake_%.bbappend
+++ b/meta-boot2qt-distro/recipes-devtools/cmake/cmake_%.bbappend
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the Boot to Qt meta layer.
@@ -27,6 +27,8 @@
##
############################################################################
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
DEPENDS_remove_mingw32 = "ncurses"
cmake_do_generate_toolchain_file_append_mingw32() {