qt5base-lts/cmake/QtPlugins.cmake.in
Lisandro Damián Nicanor Pérez Meyer ac6af2f322 Be verbose on plugin inclusion, easy patch point for distros
TL;DR: This creates two changes:

1. Makes the plugin inclusion status more visible for builders for both Qt
   itself and applications.
2. Allows a simple patch-point for distros to change the default
   (perhaps not ideal, but good enough).
3. Does not changes the current behavior.

As discussed both in the mailing list and privately with
Alexandru Croitor and Joerg Bornemann this makes a lot os sense for Qt
on static builds and when trying to find where the plugins are so they
can be easily packaged up in order to distribute a build with all the
dependencies on it.

But at the same time it makes no sense for distributions building the
libraries in dynamic mode as it forces unnecesary build time
dependencies for for both Qt and applications like QML modules or even
PostgreSQL! [0].

[0] <https://sources.debian.org/src/martchus-qtutilities/6.10.0-1/cmake/modules/QtConfig.cmake/?hl=35#L35>

Other approaches have been considered like not shipping specific CMake
files, but this depends on the packager finding the right ones at the
right time, and does not allows end users to change the behavior if they
happen to need it.

Change-Id: Id32fbc0cf0f289edd4426fb703cf1195288aacb4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-11-02 18:04:56 -03:00

16 lines
463 B
CMake

include_guard(DIRECTORY)
@QT_MODULE_PLUGIN_INCLUDES@
# Distributions should probably change this default.
if(NOT DEFINED QT_SKIP_AUTO_PLUGIN_INCLUSION)
set(QT_SKIP_AUTO_PLUGIN_INCLUSION OFF)
endif()
if(QT_REPO_MODULE_VERSION)
message(STATUS "Skip auto plugin inclusion is set to ${QT_SKIP_AUTO_PLUGIN_INCLUSION}")
endif()
if(NOT QT_NO_CREATE_TARGETS AND NOT QT_SKIP_AUTO_PLUGIN_INCLUSION)
__qt_internal_include_plugin_packages(@QT_MODULE@)
endif()