CMake: Fix tst_qaddpreroutine to work with static builds
DEFAULT_IF needs to be true so that in a static build the built plugin is automatically linked into the test executable using the special static plugin per-repo behavior in qt_internal_add_executable. The QtPostProcess routines are not executed for this test project because we don't use qt_build_repo. This means that no QtFooPluginCMakeConfig.cmake file is generated and thus there's no point in using qt6_import_plugins because the pulic plugin genexes won't know about this target anyway. Explicitly set the CLASS_NAME so that the name expected by the Q_IMPORT_PLUGIN macro matches the name of the plugin instance that moc generates in QT_MOC_EXPORT_PLUGIN. Amends 22e967c3049608f82abd32a0beb0b4b36ee134bf Task-number: QTBUG-87580 Task-number: QTBUG-90341 Change-Id: I5ef361e7e2cebc46b35310c679f15c84cd61b4a5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 2fccea3b70d8d88ed49cac1c228362a4cf01bb15) Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
c295d9d798
commit
931e742a82
@ -24,8 +24,9 @@ find_package(Qt6 COMPONENTS Gui Test CONFIG REQUIRED)
|
||||
qt_internal_add_plugin(QTBUG_90341ThemePlugin
|
||||
OUTPUT_NAME QTBUG_90341
|
||||
OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
CLASS_NAME ThemePlugin
|
||||
TYPE platformthemes
|
||||
DEFAULT_IF FALSE
|
||||
DEFAULT_IF TRUE
|
||||
SOURCES
|
||||
plugin.cpp
|
||||
SKIP_INSTALL
|
||||
@ -42,7 +43,6 @@ qt_internal_add_test(tst_qaddpreroutine
|
||||
Qt::Gui
|
||||
)
|
||||
|
||||
qt6_import_plugins(tst_qaddpreroutine INCLUDE QTBUG_90341)
|
||||
|
||||
target_compile_definitions(tst_qaddpreroutine
|
||||
PRIVATE QT_QPA_PLATFORM_PLUGIN_PATH=\"${CMAKE_BINARY_DIR}\")
|
||||
|
Loading…
x
Reference in New Issue
Block a user