qt5_import_plugins

Synopsis

qt5_import_plugins(target
                   [INCLUDE plugin ...]
                   [EXCLUDE plugin ...]
                   [INCLUDE_BY_TYPE plugin_type plugin ...]
                   [EXCLUDE_BY_TYPE plugin_type])

Description

Specifies a custom set of plugins to import. The optional arguments: INCLUDE, EXCLUDE, INCLUDE_BY_TYPE, and EXCLUDE_BY_TYPE, can be used more than once.

This CMake command was introduced in Qt 5.14.

  • INCLUDE -- can be used to specify a list of plugins to import.
  • EXCLUDE -- can be used to specify a list of plugins to exclude.
  • INCLUDE_BY_TYPE -- can be used to override the list of plugins to import for a certain plugin type.
  • EXCLUDE_BY_TYPE -- can be used to specify a plugin type to exclude; then no plugins of that type are imported.

Qt provides plugin types such as imageformats, platforms, and sqldrivers.

If qt5_import_plugins() isn't called, the target automatically links against a sane set of default plugins, for each Qt module that the target is linked against. For more information, see target_link_libraries.

Each plugin comes with a C++ stub file that automatically initializes the plugin. Consequently, any target that links against a plugin has this C++ file added to its SOURCES.

Note: This macro imports plugins from static Qt builds only. On shared builds, it does nothing.

Example

add_executable(myapp main.cpp)
target_link_libraries(myapp Qt5::Gui Qt5::Sql)
qt5_import_plugins(myapp
    INCLUDE Qt5::QCocoaIntegrationPlugin
    EXCLUDE Qt5::QMinimalIntegrationPlugin
    INCLUDE_BY_TYPE imageformats Qt5::QGifPlugin Qt5::QJpegPlugin
    EXCLUDE_BY_TYPE sqldrivers
)

In the snippet above, the following occurs with the executable myapp:

  • The Qt5::QCocoaIntegrationPlugin is imported into myapp.
  • The Qt5::QMinimalIntegrationPlugin plugin is excluded from being automatically imported into myapp.
  • The default list of plugins for imageformats is overridden to only include Qt5::QGifPlugin and Qt5::QJpegPlugin.
  • All sqldrivers plugins are excluded from automatic importing.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtcore-cmake-qt5-import-plugins.html