Go to file
Alexandru Croitor be1ee03a0f CMake: Fix auto-linking of static plugins in standalone tests
The change introduced in 98e8180e56
fixes reconfiguration issues for repositories that provide plugins
associated with modules from a different repository
(QSvgPlugin -> QtGui -> qtbase).

It does so by only loading the public Plugin CMake packages of
dependent repositories.

For executables / tests that are built as part of the current
repository, plugins are linked via a different simplified mechanism in
qt_add_internal_plugin and qt_internal_add_plugin in order to prevent
exporting link cycles between plugins and Qt modules.

This works for the majority of in-tree tests, but unfortunately breaks
static standalone tests.

For example in qtbase neither mechanism will link plugins to the
standalone tests:

 - qtbase has no repo dependencies, so the first mechanism (loading of
   public plugin packages) is skipped because we assume we are merely
   reconfiguring the main build of qtbase and we don't want to
   accidentally create duplicate plugin targets

 - because a standalone test configuration does not call
   qt_internal_add_plugin, no association is done between qt plugin
   and module and thus all tests (qt_internal_add_test ->
   qt_internal_add_executable) don't get the simplified plugin
   linking

Fix this by allowing loading of the public CMake plugin packages when
doing standalone tests. It should be safe to do so because we don't
build any plugins in this case, only tests.

Amends 98e8180e56

Pick-to: 6.1
Task-number: QTBUG-87580
Change-Id: I690a0366c73a24e7f49c65ed13cd70362c273d81
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-21 15:21:08 +02:00
.github/workflows Github Actions: many minor updates 2021-01-22 18:48:54 +01:00
bin Add reference to CMake issue in qt-cmake-private-install-cmake.in 2021-03-31 15:32:30 +02:00
cmake CMake: Fix auto-linking of static plugins in standalone tests 2021-04-21 15:21:08 +02:00
coin coin: Simplify build conditions and allow WebAssembly non-qtbase repos 2021-04-12 09:51:27 +02:00
config.tests Check whether CMake was built with zstd support 2021-04-16 16:49:28 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Offline documentation CSS: Remove external link icon from video links 2021-02-19 08:49:12 +00:00
examples Avoid divide-by-zero in the gradients example 2021-04-19 19:56:25 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Move bin/qt-internal-configure-tests to libexec 2021-03-30 14:39:12 +01:00
mkspecs Cleanup leftover QWS 2021-04-14 13:00:12 +09:00
qmake Explicitly set input files for qtpreprocess 2021-04-12 11:36:32 +02:00
src CMake: Fix build of QJpegPlugin in static Windows build with PCH 2021-04-21 15:21:05 +02:00
tests Update QList benchmark tests 2021-04-21 15:01:13 +02:00
util CMake: Introduce zlib find script to work around hardcoded iOS SDK 2021-04-19 20:30:45 +02:00
.cmake.conf Bump version 2021-02-18 07:20:21 +02:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore .gitignore: Qt Creator files cleanup 2020-09-25 07:50:15 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.prev_configure.cmake CMake: Introduce zlib find script to work around hardcoded iOS SDK 2021-04-19 20:30:45 +02:00
.prev_qt_cmdline.cmake CMake: Regenerate configure.cmake files 2020-09-28 15:48:17 +02:00
.qmake.conf Bump version 2021-02-18 07:20:21 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt CMake: Generate better Xcode iOS projects 2021-04-19 20:30:45 +02:00
config_help.txt CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
configure Remove the -qmake and -cmake configure arguments 2021-03-11 16:39:50 +01:00
configure.bat Remove superfluous variable assignments from configure.bat 2021-03-11 16:39:54 +01:00
configure.cmake CMake: Introduce zlib find script to work around hardcoded iOS SDK 2021-04-19 20:30:45 +02:00
configure.json wasm: add cmake build support 2021-04-01 19:23:42 +10:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qt_cmdline.cmake CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
sync.profile Generate QUtf8StringView header file from qutf8stringview.h 2020-11-07 08:35:11 +00:00