From 7f94aa23f59dde48de0e070aea2734939de3e6a1 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 11 May 2022 15:17:40 +0200 Subject: [PATCH] CMake: Fix initialization of QT_BUILD_TOOLS_BY_DEFAULT ...when QT_BUILD_TOOLS_WHEN_CROSSCOMPILING is ON. When QT_BUILD_TOOLS_WHEN_CROSSCOMPILING is ON, we want to set QT_FORCE_BUILD_TOOLS. But this happened too late: after the initialization of QT_BUILD_TOOLS_BY_DEFAULT. This value depends on QT_FORCE_BUILD_TOOLS. This amends commit acfbe3b7795c741b269fc23ed2c51c5937cd7f4f. Change-Id: Ibdba54da943aea1b55618f10d2b8485f4390878a Reviewed-by: Alexandru Croitor --- cmake/QtSetup.cmake | 8 ++++++++ cmake/QtToolHelpers.cmake | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cmake/QtSetup.cmake b/cmake/QtSetup.cmake index 1c3f03318f6..a0674df0a99 100644 --- a/cmake/QtSetup.cmake +++ b/cmake/QtSetup.cmake @@ -212,6 +212,14 @@ if(QT_BUILD_STANDALONE_TESTS) endif() set(BUILD_TESTING ${QT_BUILD_TESTS} CACHE INTERNAL "") +# QT_BUILD_TOOLS_WHEN_CROSSCOMPILING -> QT_FORCE_BUILD_TOOLS +# pre-6.4 compatibility flag (remove sometime in the future) +if(CMAKE_CROSSCOMPILING AND QT_BUILD_TOOLS_WHEN_CROSSCOMPILING) + message(WARNING "QT_BUILD_TOOLS_WHEN_CROSSCOMPILING is deprecated. " + "Please use QT_FORCE_BUILD_TOOLS instead.") + set(QT_FORCE_BUILD_TOOLS TRUE CACHE INTERNAL "" FORCE) +endif() + # When cross-building, we don't build tools by default. Sometimes this also covers Qt apps as well. # Like in qttools/assistant/assistant.pro, load(qt_app), which is guarded by a qtNomakeTools() call. diff --git a/cmake/QtToolHelpers.cmake b/cmake/QtToolHelpers.cmake index 8081052147a..dac074481ae 100644 --- a/cmake/QtToolHelpers.cmake +++ b/cmake/QtToolHelpers.cmake @@ -481,13 +481,6 @@ endfunction() # Sets QT_WILL_BUILD_TOOLS if tools will be built and QT_WILL_RENAME_TOOL_TARGETS # if those tools have replaced naming. function(qt_check_if_tools_will_be_built) - if(CMAKE_CROSSCOMPILING AND QT_BUILD_TOOLS_WHEN_CROSSCOMPILING) - # pre-6.4 compatibility flag (remove sometime in the future) - message(WARNING "QT_BUILD_TOOLS_WHEN_CROSSCOMPILING is deprecated. " - "Please use QT_FORCE_BUILD_TOOLS instead.") - set(QT_FORCE_BUILD_TOOLS TRUE CACHE INTERNAL "" FORCE) - endif() - # By default, we build our own tools unless we're cross-building. set(need_target_rename FALSE) if(CMAKE_CROSSCOMPILING)