From 5a779a4ad350accadc4337d332eedb29ba1cc26b Mon Sep 17 00:00:00 2001 From: Leander Beernaert Date: Mon, 27 Apr 2020 15:04:57 +0200 Subject: CMake: Make it possible to build tools when cross-compiling This patch allows tools to be built for the target platform when the QT_BUILD_TOOLS_WHEN_CROSSCOMPILING parameter is set at configuration time. To avoid naming conflicts, the target tools are suffixed with "_native". The qt_get_tool_target_name() function can be used to get the tool name for both scenarios (cross and non-cross compilation). Extend pro2cmake to refer to the right target name for tools. The relevant write_XXX functions have a new target_ref parameter that will be "${target_name}" for tools and literally the target name for everything else. Fixes: QTBUG-81901 Change-Id: If4efbc1fae07a4a3a044dd09c9c06be6d517825e Reviewed-by: Alexandru Croitor --- cmake/QtPostProcess.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'cmake/QtPostProcess.cmake') diff --git a/cmake/QtPostProcess.cmake b/cmake/QtPostProcess.cmake index e6e763c8fe..02ab986a3d 100644 --- a/cmake/QtPostProcess.cmake +++ b/cmake/QtPostProcess.cmake @@ -406,6 +406,11 @@ endif()\n") "set(BUILD_WITH_PCH \"${BUILD_WITH_PCH}\" CACHE STRING \"\")\n") endif() + if(CMAKE_CROSSCOMPILING AND QT_BUILD_TOOLS_WHEN_CROSSCOMPILING) + string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS + "set(QT_BUILD_TOOLS_WHEN_CROSSCOMPILING \"TRUE\" CACHE BOOL \"\" FORCE)\n") + endif() + # Rpath related things that need to be re-used when building other repos. string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS "set(CMAKE_INSTALL_RPATH \"${CMAKE_INSTALL_RPATH}\" CACHE STRING \"\")\n") -- cgit v1.2.3