From fe29159aad0e03ca5eebabf910c90f279b222d03 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Wed, 10 Feb 2021 12:11:39 +1100 Subject: [PATCH] cmake: Don't give plugins PUBLIC usage requirements The pro2cmake.py conversion script faithfully reproduced the .pro files for the plugins, which specified the libraries as public. But in CMake, the implications of this are that public usage requirements should then be propagated to consumers. We don't expect any consumers, since a plugin is created as a MODULE library in CMake, so for Windows we don't even have an import library to link with. The only exception to this is for static builds where plugins are created as STATIC libraries instead, but only in certain controlled situations do we then link to plugins. Even then, usage requirements are not expected to propagate to the consumers, so these relationships should always be specified as private. This change warns on any PUBLIC usage requirements specified for a plugin. This check is disabled by default to avoid spamming CI builds for repos that haven't been fixed yet. The check can be enabled by a CMake cache option, which is intended for developers to use locally when fixing this issue in other repos (all plugins in qtbase should not trigger this warning as a result of changes in this commit). Task-number: QTBUG-90819 Pick-to: 6.1 Change-Id: I09f2c8da77db1193ad3370f85d367dfc6ab7b9a6 Reviewed-by: Qt CI Bot Reviewed-by: Joerg Bornemann --- cmake/QtPluginHelpers.cmake | 17 ++++++++++++++ .../generic/evdevkeyboard/CMakeLists.txt | 2 +- src/plugins/generic/evdevmouse/CMakeLists.txt | 2 +- .../generic/evdevtablet/CMakeLists.txt | 2 +- src/plugins/generic/evdevtouch/CMakeLists.txt | 2 +- src/plugins/generic/libinput/CMakeLists.txt | 2 +- src/plugins/generic/tslib/CMakeLists.txt | 2 +- src/plugins/generic/tuiotouch/CMakeLists.txt | 2 +- src/plugins/imageformats/gif/CMakeLists.txt | 3 +-- src/plugins/imageformats/ico/CMakeLists.txt | 2 +- src/plugins/imageformats/jpeg/CMakeLists.txt | 2 +- .../compose/CMakeLists.txt | 3 +-- .../platforminputcontexts/ibus/CMakeLists.txt | 3 +-- src/plugins/platforms/android/CMakeLists.txt | 2 +- src/plugins/platforms/cocoa/CMakeLists.txt | 2 +- src/plugins/platforms/direct2d/CMakeLists.txt | 23 +++++++++---------- src/plugins/platforms/directfb/CMakeLists.txt | 2 +- src/plugins/platforms/eglfs/CMakeLists.txt | 2 +- src/plugins/platforms/ios/CMakeLists.txt | 6 ++--- .../nsphotolibrarysupport/CMakeLists.txt | 2 +- src/plugins/platforms/linuxfb/CMakeLists.txt | 6 ++--- src/plugins/platforms/minimal/CMakeLists.txt | 2 +- .../platforms/minimalegl/CMakeLists.txt | 4 ++-- .../platforms/offscreen/CMakeLists.txt | 2 +- src/plugins/platforms/vnc/CMakeLists.txt | 4 ++-- src/plugins/platforms/windows/CMakeLists.txt | 21 ++++++++--------- src/plugins/platforms/xcb/CMakeLists.txt | 2 +- .../gl_integrations/xcb_egl/CMakeLists.txt | 2 +- .../gl_integrations/xcb_glx/CMakeLists.txt | 6 ++--- .../platformthemes/gtk3/CMakeLists.txt | 3 +-- .../xdgdesktopportal/CMakeLists.txt | 2 +- src/plugins/printsupport/cups/CMakeLists.txt | 1 - src/plugins/sqldrivers/db2/CMakeLists.txt | 2 +- src/plugins/sqldrivers/ibase/CMakeLists.txt | 2 +- src/plugins/sqldrivers/mysql/CMakeLists.txt | 2 +- src/plugins/sqldrivers/oci/CMakeLists.txt | 2 +- src/plugins/sqldrivers/odbc/CMakeLists.txt | 2 +- src/plugins/sqldrivers/psql/CMakeLists.txt | 2 +- src/plugins/sqldrivers/sqlite/CMakeLists.txt | 6 ++--- src/plugins/styles/android/CMakeLists.txt | 2 +- src/plugins/styles/mac/CMakeLists.txt | 1 - .../styles/windowsvista/CMakeLists.txt | 1 - 42 files changed, 84 insertions(+), 76 deletions(-) diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake index 2c26e5bceea..6ac981f0d18 100644 --- a/cmake/QtPluginHelpers.cmake +++ b/cmake/QtPluginHelpers.cmake @@ -13,6 +13,23 @@ function(qt_internal_add_plugin target) "${ARGN}" ) + # Put this behind a cache option for now. It's too noisy for general use + # until most repos are updated. + option(QT_WARN_PLUGIN_PUBLIC_KEYWORDS "Warn if a plugin specifies a PUBLIC keyword") + if(QT_WARN_PLUGIN_PUBLIC_KEYWORDS) + foreach(publicKeyword IN LISTS __default_public_args) + if(NOT "${arg_${publicKeyword}}" STREQUAL "") + string(REPLACE "PUBLIC_" "" privateKeyword "${publicKeyword}") + message(AUTHOR_WARNING + "Plugins are not intended to be linked to. " + "They should not have any public properties, but ${target} " + "sets ${publicKeyword} to the following value:\n" + " ${arg_${publicKeyword}}\n" + "Update your project to use ${privateKeyword} instead.\n") + endif() + endforeach() + endif() + qt_get_sanitized_plugin_type("${arg_TYPE}" plugin_type_escaped) set(output_directory_default "${QT_BUILD_DIR}/${INSTALL_PLUGINSDIR}/${arg_TYPE}") diff --git a/src/plugins/generic/evdevkeyboard/CMakeLists.txt b/src/plugins/generic/evdevkeyboard/CMakeLists.txt index c6411cd76a7..7134a2d8584 100644 --- a/src/plugins/generic/evdevkeyboard/CMakeLists.txt +++ b/src/plugins/generic/evdevkeyboard/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QEvdevKeyboardPlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/generic/evdevmouse/CMakeLists.txt b/src/plugins/generic/evdevmouse/CMakeLists.txt index 39741fbe259..78cf80f5889 100644 --- a/src/plugins/generic/evdevmouse/CMakeLists.txt +++ b/src/plugins/generic/evdevmouse/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QEvdevMousePlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/generic/evdevtablet/CMakeLists.txt b/src/plugins/generic/evdevtablet/CMakeLists.txt index da553f9b473..880090dd027 100644 --- a/src/plugins/generic/evdevtablet/CMakeLists.txt +++ b/src/plugins/generic/evdevtablet/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QEvdevTabletPlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/generic/evdevtouch/CMakeLists.txt b/src/plugins/generic/evdevtouch/CMakeLists.txt index ce0b931e9cb..d15367c6c20 100644 --- a/src/plugins/generic/evdevtouch/CMakeLists.txt +++ b/src/plugins/generic/evdevtouch/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QEvdevTouchScreenPlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/generic/libinput/CMakeLists.txt b/src/plugins/generic/libinput/CMakeLists.txt index a37b898d5a4..79da2685100 100644 --- a/src/plugins/generic/libinput/CMakeLists.txt +++ b/src/plugins/generic/libinput/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QLibInputPlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/generic/tslib/CMakeLists.txt b/src/plugins/generic/tslib/CMakeLists.txt index b1518051086..9a6e3688252 100644 --- a/src/plugins/generic/tslib/CMakeLists.txt +++ b/src/plugins/generic/tslib/CMakeLists.txt @@ -12,7 +12,7 @@ qt_internal_add_plugin(QTsLibPlugin DEFAULT_IF FALSE SOURCES main.cpp - PUBLIC_LIBRARIES + LIBRARIES PkgConfig::Tslib Qt::Core Qt::CorePrivate diff --git a/src/plugins/generic/tuiotouch/CMakeLists.txt b/src/plugins/generic/tuiotouch/CMakeLists.txt index ede5c5408ae..b572b140b4e 100644 --- a/src/plugins/generic/tuiotouch/CMakeLists.txt +++ b/src/plugins/generic/tuiotouch/CMakeLists.txt @@ -17,7 +17,7 @@ qt_internal_add_plugin(QTuioTouchPlugin qtuiotoken_p.h DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/imageformats/gif/CMakeLists.txt b/src/plugins/imageformats/gif/CMakeLists.txt index 9a9150bccc2..1ffd702f851 100644 --- a/src/plugins/imageformats/gif/CMakeLists.txt +++ b/src/plugins/imageformats/gif/CMakeLists.txt @@ -11,9 +11,8 @@ qt_internal_add_plugin(QGifPlugin main.cpp main.h qgifhandler.cpp qgifhandler_p.h LIBRARIES # special case - Qt::GuiPrivate # special case - PUBLIC_LIBRARIES # special case Qt::Gui # special case + Qt::GuiPrivate # special case ) #### Keys ignored in scope 1:.:.:gif.pro:: diff --git a/src/plugins/imageformats/ico/CMakeLists.txt b/src/plugins/imageformats/ico/CMakeLists.txt index c5362df3e97..2d1dc38e177 100644 --- a/src/plugins/imageformats/ico/CMakeLists.txt +++ b/src/plugins/imageformats/ico/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QICOPlugin SOURCES main.cpp main.h qicohandler.cpp qicohandler.h - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/imageformats/jpeg/CMakeLists.txt b/src/plugins/imageformats/jpeg/CMakeLists.txt index 7e69e1aba65..4b6e11235b5 100644 --- a/src/plugins/imageformats/jpeg/CMakeLists.txt +++ b/src/plugins/imageformats/jpeg/CMakeLists.txt @@ -12,7 +12,7 @@ qt_internal_add_plugin(QJpegPlugin SOURCES main.cpp main.h qjpeghandler.cpp qjpeghandler_p.h - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/platforminputcontexts/compose/CMakeLists.txt b/src/plugins/platforminputcontexts/compose/CMakeLists.txt index 3d1ebb35a85..fe14de36f4e 100644 --- a/src/plugins/platforminputcontexts/compose/CMakeLists.txt +++ b/src/plugins/platforminputcontexts/compose/CMakeLists.txt @@ -15,12 +15,11 @@ qt_internal_add_plugin(QComposePlatformInputContextPlugin qcomposeplatforminputcontext.cpp qcomposeplatforminputcontext.h qcomposeplatforminputcontextmain.cpp LIBRARIES - XKB::XKB - PUBLIC_LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui Qt::GuiPrivate + XKB::XKB ) #### Keys ignored in scope 1:.:.:compose.pro:: diff --git a/src/plugins/platforminputcontexts/ibus/CMakeLists.txt b/src/plugins/platforminputcontexts/ibus/CMakeLists.txt index 2c1a2adb02f..6d6de4fe8ba 100644 --- a/src/plugins/platforminputcontexts/ibus/CMakeLists.txt +++ b/src/plugins/platforminputcontexts/ibus/CMakeLists.txt @@ -16,12 +16,11 @@ qt_internal_add_plugin(QIbusPlatformInputContextPlugin qibusproxyportal.cpp qibusproxyportal.h qibustypes.cpp qibustypes.h LIBRARIES - XKB::XKB - PUBLIC_LIBRARIES Qt::Core Qt::DBus Qt::Gui Qt::GuiPrivate + XKB::XKB ) #### Keys ignored in scope 1:.:.:ibus.pro:: diff --git a/src/plugins/platforms/android/CMakeLists.txt b/src/plugins/platforms/android/CMakeLists.txt index 2e323325b00..af9b7429b6e 100644 --- a/src/plugins/platforms/android/CMakeLists.txt +++ b/src/plugins/platforms/android/CMakeLists.txt @@ -46,7 +46,7 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${QT_SOURCE_TREE}/src/3rdparty/android - PUBLIC_LIBRARIES + LIBRARIES EGL::EGL Qt::Core Qt::CorePrivate diff --git a/src/plugins/platforms/cocoa/CMakeLists.txt b/src/plugins/platforms/cocoa/CMakeLists.txt index 8dbf534c9b8..62eaad8e028 100644 --- a/src/plugins/platforms/cocoa/CMakeLists.txt +++ b/src/plugins/platforms/cocoa/CMakeLists.txt @@ -50,7 +50,7 @@ qt_internal_add_plugin(QCocoaIntegrationPlugin qcocoafontdialoghelper.h qcocoafontdialoghelper.mm DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES ${FWAppKit} ${FWCarbon} ${FWCoreServices} diff --git a/src/plugins/platforms/direct2d/CMakeLists.txt b/src/plugins/platforms/direct2d/CMakeLists.txt index 3d507af0704..94c435ea691 100644 --- a/src/plugins/platforms/direct2d/CMakeLists.txt +++ b/src/plugins/platforms/direct2d/CMakeLists.txt @@ -50,27 +50,26 @@ qt_internal_add_plugin(QWindowsDirect2DIntegrationPlugin INCLUDE_DIRECTORIES ../windows LIBRARIES - advapi32 - d2d1 # special case - dwrite # special case - gdi32 - ole32 - shell32 - user32 - winmm - PUBLIC_LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui Qt::GuiPrivate + advapi32 + d2d1 # special case d3d11 dwmapi + dwrite # special case dxgi dxguid + gdi32 imm32 + ole32 oleaut32 + shell32 shlwapi + user32 version + winmm winspool wtsapi32 ) @@ -102,12 +101,12 @@ qt_internal_add_resource(QWindowsDirect2DIntegrationPlugin "openglblacklists" # PLUGIN_EXTENDS = "-" qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION QT_FEATURE_opengl AND NOT QT_FEATURE_dynamicgl - PUBLIC_LIBRARIES + LIBRARIES opengl32 ) qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION MINGW - PUBLIC_LIBRARIES + LIBRARIES uuid ) @@ -272,7 +271,7 @@ qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION QT_FEATURE ) qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION MINGW AND QT_FEATURE_accessibility - PUBLIC_LIBRARIES + LIBRARIES uuid ) diff --git a/src/plugins/platforms/directfb/CMakeLists.txt b/src/plugins/platforms/directfb/CMakeLists.txt index c66d8bd169e..e54c6a0b794 100644 --- a/src/plugins/platforms/directfb/CMakeLists.txt +++ b/src/plugins/platforms/directfb/CMakeLists.txt @@ -23,7 +23,7 @@ qt_internal_add_plugin(QDirectFbIntegrationPlugin qdirectfbintegration.cpp qdirectfbintegration.h qdirectfbscreen.cpp qdirectfbscreen.h qdirectfbwindow.cpp qdirectfbwindow.h - PUBLIC_LIBRARIES + LIBRARIES PkgConfig::DirectFB EGL::EGL # special case Qt::Core diff --git a/src/plugins/platforms/eglfs/CMakeLists.txt b/src/plugins/platforms/eglfs/CMakeLists.txt index 25223d5d3b1..0e0d0ed06e5 100644 --- a/src/plugins/platforms/eglfs/CMakeLists.txt +++ b/src/plugins/platforms/eglfs/CMakeLists.txt @@ -102,7 +102,7 @@ qt_internal_add_plugin(QEglFSIntegrationPlugin qeglfsmain.cpp DEFINES QT_EGL_NO_X11 - PUBLIC_LIBRARIES + LIBRARIES Qt::CorePrivate # special case Qt::EglFSDeviceIntegrationPrivate EGL::EGL # special case diff --git a/src/plugins/platforms/ios/CMakeLists.txt b/src/plugins/platforms/ios/CMakeLists.txt index aef8c6f522b..cebecadc3c0 100644 --- a/src/plugins/platforms/ios/CMakeLists.txt +++ b/src/plugins/platforms/ios/CMakeLists.txt @@ -27,7 +27,7 @@ qt_internal_add_plugin(QIOSIntegrationPlugin qioswindow.h qioswindow.mm quiaccessibilityelement.h quiaccessibilityelement.mm quiview.h quiview.mm - PUBLIC_LIBRARIES + LIBRARIES ${FWAudioToolbox} ${FWFoundation} ${FWMetal} @@ -47,7 +47,7 @@ qt_disable_apple_app_extension_api_only(QIOSIntegrationPlugin) ##################################################################### qt_internal_extend_target(QIOSIntegrationPlugin CONDITION QT_FEATURE_opengl - PUBLIC_LIBRARIES + LIBRARIES Qt::OpenGLPrivate ) @@ -59,7 +59,7 @@ qt_internal_extend_target(QIOSIntegrationPlugin CONDITION NOT TVOS qiosmenu.h qiosmenu.mm qiosmessagedialog.h qiosmessagedialog.mm qiostextinputoverlay.h qiostextinputoverlay.mm - PUBLIC_LIBRARIES + LIBRARIES ${FWAssetsLibrary} ) diff --git a/src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt b/src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt index 82e5691d108..76253adb477 100644 --- a/src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt +++ b/src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt @@ -13,7 +13,7 @@ qt_internal_add_plugin(QIosOptionalPlugin_NSPhotoLibrary qiosfileengineassetslibrary.h qiosfileengineassetslibrary.mm qiosfileenginefactory.h qiosimagepickercontroller.h qiosimagepickercontroller.mm - PUBLIC_LIBRARIES + LIBRARIES ${FWAssetsLibrary} ${FWFoundation} ${FWUIKit} diff --git a/src/plugins/platforms/linuxfb/CMakeLists.txt b/src/plugins/platforms/linuxfb/CMakeLists.txt index d903fdc6a73..1a241463a73 100644 --- a/src/plugins/platforms/linuxfb/CMakeLists.txt +++ b/src/plugins/platforms/linuxfb/CMakeLists.txt @@ -14,7 +14,7 @@ qt_internal_add_plugin(QLinuxFbIntegrationPlugin qlinuxfbscreen.cpp qlinuxfbscreen.h DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::FbSupportPrivate @@ -29,14 +29,14 @@ qt_internal_add_plugin(QLinuxFbIntegrationPlugin ##################################################################### qt_internal_extend_target(QLinuxFbIntegrationPlugin CONDITION TARGET Qt::InputSupportPrivate - PUBLIC_LIBRARIES + LIBRARIES Qt::InputSupportPrivate ) qt_internal_extend_target(QLinuxFbIntegrationPlugin CONDITION TARGET Qt::KmsSupportPrivate SOURCES qlinuxfbdrmscreen.cpp qlinuxfbdrmscreen.h - PUBLIC_LIBRARIES + LIBRARIES Qt::KmsSupportPrivate ) diff --git a/src/plugins/platforms/minimal/CMakeLists.txt b/src/plugins/platforms/minimal/CMakeLists.txt index 3f6945ed262..3abecdcb4a3 100644 --- a/src/plugins/platforms/minimal/CMakeLists.txt +++ b/src/plugins/platforms/minimal/CMakeLists.txt @@ -16,7 +16,7 @@ qt_internal_add_plugin(QMinimalIntegrationPlugin qminimalintegration.cpp qminimalintegration.h DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/platforms/minimalegl/CMakeLists.txt b/src/plugins/platforms/minimalegl/CMakeLists.txt index 1758eb3af01..5a5b57f9633 100644 --- a/src/plugins/platforms/minimalegl/CMakeLists.txt +++ b/src/plugins/platforms/minimalegl/CMakeLists.txt @@ -16,7 +16,7 @@ qt_internal_add_plugin(QMinimalEglIntegrationPlugin qminimaleglwindow.cpp qminimaleglwindow.h DEFINES QT_EGL_NO_X11 - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui @@ -33,7 +33,7 @@ qt_internal_add_plugin(QMinimalEglIntegrationPlugin qt_internal_extend_target(QMinimalEglIntegrationPlugin CONDITION QT_FEATURE_opengl SOURCES qminimaleglbackingstore.cpp qminimaleglbackingstore.h - PUBLIC_LIBRARIES + LIBRARIES Qt::OpenGL ) diff --git a/src/plugins/platforms/offscreen/CMakeLists.txt b/src/plugins/platforms/offscreen/CMakeLists.txt index 160aa7df93f..bb73ce38aa5 100644 --- a/src/plugins/platforms/offscreen/CMakeLists.txt +++ b/src/plugins/platforms/offscreen/CMakeLists.txt @@ -15,7 +15,7 @@ qt_internal_add_plugin(QOffscreenIntegrationPlugin qoffscreenwindow.cpp qoffscreenwindow.h DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/platforms/vnc/CMakeLists.txt b/src/plugins/platforms/vnc/CMakeLists.txt index f3782b54346..7c28e26d9be 100644 --- a/src/plugins/platforms/vnc/CMakeLists.txt +++ b/src/plugins/platforms/vnc/CMakeLists.txt @@ -16,7 +16,7 @@ qt_internal_add_plugin(QVncIntegrationPlugin qvncscreen.cpp qvncscreen.h DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::FbSupportPrivate @@ -32,7 +32,7 @@ qt_internal_add_plugin(QVncIntegrationPlugin ##################################################################### qt_internal_extend_target(QVncIntegrationPlugin CONDITION TARGET Qt::InputSupportPrivate - PUBLIC_LIBRARIES + LIBRARIES Qt::InputSupportPrivate ) diff --git a/src/plugins/platforms/windows/CMakeLists.txt b/src/plugins/platforms/windows/CMakeLists.txt index 77d2f2a7147..43f08a6a866 100644 --- a/src/plugins/platforms/windows/CMakeLists.txt +++ b/src/plugins/platforms/windows/CMakeLists.txt @@ -43,21 +43,20 @@ qt_internal_add_plugin(QWindowsIntegrationPlugin INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} LIBRARIES - advapi32 - gdi32 - ole32 - shell32 - user32 - winmm - PUBLIC_LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui Qt::GuiPrivate + advapi32 dwmapi + gdi32 imm32 + ole32 oleaut32 + shell32 shlwapi + user32 + winmm winspool wtsapi32 ) @@ -88,7 +87,7 @@ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_opengl SOURCES qwindowsglcontext.cpp qwindowsglcontext.h qwindowsopenglcontext.h - PUBLIC_LIBRARIES + LIBRARIES Qt::OpenGLPrivate ) @@ -96,12 +95,12 @@ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_opengl # PLUGIN_EXTENDS = "-" qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_opengl AND NOT QT_FEATURE_dynamicgl - PUBLIC_LIBRARIES + LIBRARIES opengl32 ) qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION MINGW - PUBLIC_LIBRARIES + LIBRARIES uuid ) @@ -195,7 +194,7 @@ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_accessi ) qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION MINGW AND QT_FEATURE_accessibility - PUBLIC_LIBRARIES + LIBRARIES uuid ) diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt index ab195019919..806b76bb72f 100644 --- a/src/plugins/platforms/xcb/CMakeLists.txt +++ b/src/plugins/platforms/xcb/CMakeLists.txt @@ -168,7 +168,7 @@ qt_internal_add_plugin(QXcbIntegrationPlugin qxcbmain.cpp DEFINES QT_NO_FOREACH - PUBLIC_LIBRARIES + LIBRARIES Qt::CorePrivate Qt::GuiPrivate Qt::XcbQpaPrivate diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt index a1cecaf7199..d24050edf3e 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt @@ -20,7 +20,7 @@ qt_internal_add_plugin(QXcbEglIntegrationPlugin INCLUDE_DIRECTORIES .. ../.. - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt index 9ebc98ea532..80f785a2f07 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt @@ -18,7 +18,7 @@ qt_internal_add_plugin(QXcbGlxIntegrationPlugin INCLUDE_DIRECTORIES .. ../.. - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui @@ -30,12 +30,12 @@ qt_internal_add_plugin(QXcbGlxIntegrationPlugin ##################################################################### qt_internal_extend_target(QXcbGlxIntegrationPlugin CONDITION QT_FEATURE_xcb_glx - PUBLIC_LIBRARIES + LIBRARIES XCB::GLX ) qt_internal_extend_target(QXcbGlxIntegrationPlugin CONDITION QT_FEATURE_dlopen AND QT_BUILD_SHARED_LIBS - PUBLIC_LIBRARIES + LIBRARIES ${CMAKE_DL_LIBS} ) diff --git a/src/plugins/platformthemes/gtk3/CMakeLists.txt b/src/plugins/platformthemes/gtk3/CMakeLists.txt index f83f48e13ed..da61354237d 100644 --- a/src/plugins/platformthemes/gtk3/CMakeLists.txt +++ b/src/plugins/platformthemes/gtk3/CMakeLists.txt @@ -19,13 +19,12 @@ qt_internal_add_plugin(QGtk3ThemePlugin DEFINES GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6 LIBRARIES # special case - X11::X11 # special case - PUBLIC_LIBRARIES PkgConfig::GTK3 Qt::Core Qt::CorePrivate Qt::Gui Qt::GuiPrivate + X11::X11 # special case ) #### Keys ignored in scope 1:.:.:gtk3.pro:: diff --git a/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt b/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt index caaf0de7b23..980ef4a44a6 100644 --- a/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt +++ b/src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt @@ -12,7 +12,7 @@ qt_internal_add_plugin(QXdgDesktopPortalThemePlugin main.cpp qxdgdesktopportalfiledialog.cpp qxdgdesktopportalfiledialog_p.h qxdgdesktopportaltheme.cpp qxdgdesktopportaltheme.h - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::DBus diff --git a/src/plugins/printsupport/cups/CMakeLists.txt b/src/plugins/printsupport/cups/CMakeLists.txt index 9adc0d2fa62..0a8b2253af3 100644 --- a/src/plugins/printsupport/cups/CMakeLists.txt +++ b/src/plugins/printsupport/cups/CMakeLists.txt @@ -18,7 +18,6 @@ qt_internal_add_plugin(QCupsPrinterSupportPlugin ../../../printsupport/kernel LIBRARIES Cups::Cups - PUBLIC_LIBRARIES Qt::Core Qt::CorePrivate Qt::Gui diff --git a/src/plugins/sqldrivers/db2/CMakeLists.txt b/src/plugins/sqldrivers/db2/CMakeLists.txt index 061eeae2fd8..6d662434ae7 100644 --- a/src/plugins/sqldrivers/db2/CMakeLists.txt +++ b/src/plugins/sqldrivers/db2/CMakeLists.txt @@ -13,7 +13,7 @@ qt_internal_add_plugin(QDB2DriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES DB2::DB2 Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/ibase/CMakeLists.txt b/src/plugins/sqldrivers/ibase/CMakeLists.txt index 8a78115505e..5f200597f58 100644 --- a/src/plugins/sqldrivers/ibase/CMakeLists.txt +++ b/src/plugins/sqldrivers/ibase/CMakeLists.txt @@ -7,7 +7,7 @@ qt_internal_add_plugin(QIBaseDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES Interbase::Interbase Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/mysql/CMakeLists.txt b/src/plugins/sqldrivers/mysql/CMakeLists.txt index 18409748dfb..8e8244acb37 100644 --- a/src/plugins/sqldrivers/mysql/CMakeLists.txt +++ b/src/plugins/sqldrivers/mysql/CMakeLists.txt @@ -13,7 +13,7 @@ qt_internal_add_plugin(QMYSQLDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES MySQL::MySQL Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/oci/CMakeLists.txt b/src/plugins/sqldrivers/oci/CMakeLists.txt index 617fce8453d..c6e38f4cdf0 100644 --- a/src/plugins/sqldrivers/oci/CMakeLists.txt +++ b/src/plugins/sqldrivers/oci/CMakeLists.txt @@ -13,7 +13,7 @@ qt_internal_add_plugin(QOCIDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES Oracle::OCI Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/odbc/CMakeLists.txt b/src/plugins/sqldrivers/odbc/CMakeLists.txt index 1c86a79acf4..99a6b9104d2 100644 --- a/src/plugins/sqldrivers/odbc/CMakeLists.txt +++ b/src/plugins/sqldrivers/odbc/CMakeLists.txt @@ -15,7 +15,7 @@ qt_internal_add_plugin(QODBCDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES ODBC::ODBC Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/psql/CMakeLists.txt b/src/plugins/sqldrivers/psql/CMakeLists.txt index ab3d6c03aa7..b151932da7c 100644 --- a/src/plugins/sqldrivers/psql/CMakeLists.txt +++ b/src/plugins/sqldrivers/psql/CMakeLists.txt @@ -15,7 +15,7 @@ qt_internal_add_plugin(QPSQLDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES PostgreSQL::PostgreSQL Qt::Core Qt::CorePrivate diff --git a/src/plugins/sqldrivers/sqlite/CMakeLists.txt b/src/plugins/sqldrivers/sqlite/CMakeLists.txt index 2da5233525c..ad39f1547b8 100644 --- a/src/plugins/sqldrivers/sqlite/CMakeLists.txt +++ b/src/plugins/sqldrivers/sqlite/CMakeLists.txt @@ -13,7 +13,7 @@ qt_internal_add_plugin(QSQLiteDriverPlugin DEFINES QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::CorePrivate Qt::SqlPrivate @@ -27,7 +27,7 @@ qt_internal_add_plugin(QSQLiteDriverPlugin ##################################################################### qt_internal_extend_target(QSQLiteDriverPlugin CONDITION QT_FEATURE_system_sqlite - PUBLIC_LIBRARIES + LIBRARIES SQLite::SQLite3 ) @@ -79,7 +79,7 @@ qt_internal_extend_target(QSQLiteDriverPlugin CONDITION UNIX AND NOT QT_FEATURE_ ) qt_internal_extend_target(QSQLiteDriverPlugin CONDITION QT_FEATURE_dlopen AND NOT QT_FEATURE_system_sqlite - PUBLIC_LIBRARIES + LIBRARIES ${CMAKE_DL_LIBS} ) diff --git a/src/plugins/styles/android/CMakeLists.txt b/src/plugins/styles/android/CMakeLists.txt index a556f7bd400..312f8ecfff4 100644 --- a/src/plugins/styles/android/CMakeLists.txt +++ b/src/plugins/styles/android/CMakeLists.txt @@ -10,7 +10,7 @@ qt_internal_add_plugin(QAndroidStylePlugin SOURCES main.cpp qandroidstyle.cpp qandroidstyle_p.h - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::Gui Qt::WidgetsPrivate diff --git a/src/plugins/styles/mac/CMakeLists.txt b/src/plugins/styles/mac/CMakeLists.txt index ea0c7aee04f..f95579b4744 100644 --- a/src/plugins/styles/mac/CMakeLists.txt +++ b/src/plugins/styles/mac/CMakeLists.txt @@ -13,7 +13,6 @@ qt_internal_add_plugin(QMacStylePlugin qmacstyle_mac_p_p.h LIBRARIES ${FWAppKit} - PUBLIC_LIBRARIES Qt::Core Qt::Gui Qt::WidgetsPrivate diff --git a/src/plugins/styles/windowsvista/CMakeLists.txt b/src/plugins/styles/windowsvista/CMakeLists.txt index 224b7f1da12..f668b216327 100644 --- a/src/plugins/styles/windowsvista/CMakeLists.txt +++ b/src/plugins/styles/windowsvista/CMakeLists.txt @@ -17,7 +17,6 @@ qt_internal_add_plugin(QWindowsVistaStylePlugin gdi32 user32 uxtheme - PUBLIC_LIBRARIES Qt::Core Qt::Gui Qt::WidgetsPrivate