From 4a0d8b2bf816384d15ba2cf5139ff700bc9a4bc3 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 21 Oct 2024 11:32:41 +0200 Subject: [PATCH] CMake: Fix linking of qtsvg static plugins in standalone tests build Our QtPluginConfig.cmake.in files have code to skip loading plugins unless the repo is found in the QT_REPO_DEPENDENCIES variable or when building standalone parts. The problem is that QT_INTERNAL_BUILD_STANDALONE_PARTS is only assigned a value after all the find_package calls have executed, which is too late for the qtsvg standalone tests, because the svg icon config file would already be loaded and skipped. This code path checked for QT_BUILD_STANDALONE_TESTS, before the introduction of the QT_INTERNAL_BUILD_STANDALONE_PARTS variable. QT_BUILD_STANDALONE_TESTS is set by the qt-internal-configure-tests script, so it is always available. Restore the previous check for QT_BUILD_STANDALONE_TESTS, while keeping the new variable as well. This fixes the tst_qicon_svg test to pass in a static standalone tests build. Amends 62905163bf887c2c2c9ba7edcd64c96d237a6e95 Restores behavior of be1ee03a0fafa28efa0c0e45f21f9dc684625957 Task-number: QTBUG-90820 Task-number: QTBUG-96232 Change-Id: I19f620a39fe530bf7f96498cfad1c90621983eb6 Reviewed-by: Alexey Edelev Reviewed-by: Toni Saario (cherry picked from commit c0e07cc3e2817d158d05e69e1254471ff6b074e1) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtPluginConfig.cmake.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/QtPluginConfig.cmake.in b/cmake/QtPluginConfig.cmake.in index 1dc30b03380..de067725802 100644 --- a/cmake/QtPluginConfig.cmake.in +++ b/cmake/QtPluginConfig.cmake.in @@ -3,7 +3,9 @@ include_guard(DIRECTORY) -if(DEFINED QT_REPO_DEPENDENCIES AND NOT QT_INTERNAL_BUILD_STANDALONE_PARTS) +if(DEFINED QT_REPO_DEPENDENCIES + AND NOT QT_INTERNAL_BUILD_STANDALONE_PARTS + AND NOT QT_BUILD_STANDALONE_TESTS) # We're building a Qt repository. # Skip this plugin if it has not been provided by one of this repo's dependencies. string(TOLOWER "@PROJECT_NAME@" lower_case_project_name)