diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2019-10-23 14:45:20 +0200 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2019-10-28 09:20:37 +0000 |
commit | 69fb4ae343777af9078e5128ec41cfb3cea2cd76 (patch) | |
tree | 7d15b4dde18289f583dc195f121556b04dd85e55 /tests/auto/corelib/plugin/qpluginloader | |
parent | 080f9ad160ef7422b2bab884c7ccc950d35b3a0a (diff) |
Distinguish between qt_plugin and regular plugins
If we do not encounter the load(qt_plugin) statement in the .pro file
but we do see the entry CONFIG+=plugin, treat the target as a regular
CMake library instead of treating it as a qt_plugin by default.
Change-Id: I67ad5c865a1a5ab691a6b0d86c2db4b686aa04dd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'tests/auto/corelib/plugin/qpluginloader')
8 files changed, 149 insertions, 12 deletions
diff --git a/tests/auto/corelib/plugin/qpluginloader/almostplugin/.prev_CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/almostplugin/.prev_CMakeLists.txt new file mode 100644 index 0000000000..5e42a1aef0 --- /dev/null +++ b/tests/auto/corelib/plugin/qpluginloader/almostplugin/.prev_CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from almostplugin.pro. + +##################################################################### +## almostplugin Generic Library: +##################################################################### + +add_cmake_library(almostplugin + MODULE + INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin" + OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin" + SOURCES + almostplugin.cpp almostplugin.h + PUBLIC_LIBRARIES + Qt::Core +) + +#### Keys ignored in scope 1:.:.:almostplugin.pro:<TRUE>: +# INSTALLS = "target" +# TEMPLATE = "lib" +# target.path = "$$[QT_INSTALL_TESTS]/tst_qpluginloader/bin" + +## Scopes: +##################################################################### + +extend_target(almostplugin CONDITION GCC + LINK_OPTIONS + "--Wl,--no-undefined" +) + +qt_autogen_tools_initial_setup(almostplugin) diff --git a/tests/auto/corelib/plugin/qpluginloader/almostplugin/CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/almostplugin/CMakeLists.txt index 62653e1a65..5208a70c9d 100644 --- a/tests/auto/corelib/plugin/qpluginloader/almostplugin/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qpluginloader/almostplugin/CMakeLists.txt @@ -1,11 +1,11 @@ # Generated from almostplugin.pro. ##################################################################### -## almostplugin Plugin: +## almostplugin Generic Library: ##################################################################### -add_qt_plugin(almostplugin - ALLOW_UNDEFINED_SYMBOLS # special case +add_cmake_library(almostplugin + MODULE INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin" OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin" SOURCES @@ -22,6 +22,7 @@ add_qt_plugin(almostplugin ## Scopes: ##################################################################### +qt_autogen_tools_initial_setup(almostplugin) # special case begin # We want the opposite of this #extend_target(almostplugin CONDITION GCC diff --git a/tests/auto/corelib/plugin/qpluginloader/lib/.prev_CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/lib/.prev_CMakeLists.txt new file mode 100644 index 0000000000..74945fc6d8 --- /dev/null +++ b/tests/auto/corelib/plugin/qpluginloader/lib/.prev_CMakeLists.txt @@ -0,0 +1,34 @@ +# Generated from lib.pro. + +##################################################################### +## tst_qpluginloaderlib Generic Library: +##################################################################### + +add_cmake_library(tst_qpluginloaderlib + SHARED + INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin" + OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin" + SOURCES + mylib.c + PUBLIC_LIBRARIES + Qt::Core +) + +#### Keys ignored in scope 1:.:.:lib.pro:<TRUE>: +# INSTALLS = "target" +# TEMPLATE = "lib" +# target.path = "$$[QT_INSTALL_TESTS]/tst_qpluginloader/bin" + +## Scopes: +##################################################################### + +#### Keys ignored in scope 6:.:..:../winrt.pri:(CMAKE_BUILD_TYPE STREQUAL Debug): +# DESTDIR = "../debug/bin" + +#### Keys ignored in scope 7:.:..:../winrt.pri:else: +# DESTDIR = "../release/bin" + +extend_target(tst_qpluginloaderlib CONDITION MSVC + DEFINES + WIN32_MSVC +) diff --git a/tests/auto/corelib/plugin/qpluginloader/staticplugin/.prev_CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/staticplugin/.prev_CMakeLists.txt new file mode 100644 index 0000000000..bfc30d7c1d --- /dev/null +++ b/tests/auto/corelib/plugin/qpluginloader/staticplugin/.prev_CMakeLists.txt @@ -0,0 +1,23 @@ +# Generated from staticplugin.pro. + +##################################################################### +## staticplugin Generic Library: +##################################################################### + +add_cmake_library(staticplugin + STATIC + SOURCES + main.cpp + PUBLIC_LIBRARIES + Qt::Core + MOC_OPTIONS + "-M" + "ExtraMetaData=StaticPlugin" + "-M" + "ExtraMetaData=foo" +) + +#### Keys ignored in scope 1:.:.:staticplugin.pro:<TRUE>: +# TEMPLATE = "lib" + +qt_autogen_tools_initial_setup(staticplugin) diff --git a/tests/auto/corelib/plugin/qpluginloader/staticplugin/CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/staticplugin/CMakeLists.txt index b29ef3f982..fb9d365d74 100644 --- a/tests/auto/corelib/plugin/qpluginloader/staticplugin/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qpluginloader/staticplugin/CMakeLists.txt @@ -1,12 +1,10 @@ # Generated from staticplugin.pro. ##################################################################### -## staticplugin Plugin: +## staticplugin Generic Library: ##################################################################### -add_qt_plugin(staticplugin - OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} # special case - SKIP_INSTALL +add_cmake_library(staticplugin STATIC SOURCES main.cpp @@ -21,3 +19,7 @@ add_qt_plugin(staticplugin #### Keys ignored in scope 1:.:.:staticplugin.pro:<TRUE>: # TEMPLATE = "lib" + +qt_autogen_tools_initial_setup(staticplugin) + +target_compile_definitions(staticplugin PRIVATE QT_STATICPLUGIN) diff --git a/tests/auto/corelib/plugin/qpluginloader/theplugin/CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/theplugin/CMakeLists.txt index 3eb62d511a..5389790fba 100644 --- a/tests/auto/corelib/plugin/qpluginloader/theplugin/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qpluginloader/theplugin/CMakeLists.txt @@ -1,10 +1,11 @@ # Generated from theplugin.pro. ##################################################################### -## theplugin Plugin: +## theplugin Generic Library: ##################################################################### -add_qt_plugin(theplugin +add_cmake_library(theplugin + MODULE INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin" OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin" SOURCES @@ -26,3 +27,5 @@ add_qt_plugin(theplugin #### Keys ignored in scope 6:.:..:../winrt.pri:else: # DESTDIR = "../release/bin" + +qt_autogen_tools_initial_setup(theplugin) diff --git a/tests/auto/corelib/plugin/qpluginloader/tst/.prev_CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/tst/.prev_CMakeLists.txt new file mode 100644 index 0000000000..cf63ce61c9 --- /dev/null +++ b/tests/auto/corelib/plugin/qpluginloader/tst/.prev_CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from tst.pro. + +##################################################################### +## tst_qpluginloader Test: +##################################################################### + +# Collect test data +list(APPEND test_data "../elftest") +list(APPEND test_data "../machtest") + +add_qt_test(tst_qpluginloader + SOURCES + ../fakeplugin.cpp + ../theplugin/plugininterface.h + ../tst_qpluginloader.cpp + PUBLIC_LIBRARIES + staticplugin + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +extend_target(tst_qpluginloader CONDITION QT_FEATURE_private_tests + LIBRARIES + Qt::CorePrivate + PUBLIC_LIBRARIES + Qt::Core +) + +extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32 AND debug_and_release + PUBLIC_LIBRARIES + # Remove: L../staticplugin/debug +) + +extend_target(tst_qpluginloader CONDITION WIN32 AND debug_and_release AND NOT CMAKE_BUILD_TYPE STREQUAL Debug + PUBLIC_LIBRARIES + # Remove: L../staticplugin/release +) + +extend_target(tst_qpluginloader CONDITION UNIX OR NOT debug_and_release + PUBLIC_LIBRARIES + # Remove: L../staticplugin +) diff --git a/tests/auto/corelib/plugin/qpluginloader/tst/CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/tst/CMakeLists.txt index c456eae4ba..85ed763949 100644 --- a/tests/auto/corelib/plugin/qpluginloader/tst/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qpluginloader/tst/CMakeLists.txt @@ -29,17 +29,17 @@ extend_target(tst_qpluginloader CONDITION QT_FEATURE_private_tests Qt::Core ) -extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32 +extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32 AND debug_and_release PUBLIC_LIBRARIES # Remove: L../staticplugin/debug ) -extend_target(tst_qpluginloader CONDITION WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL Debug +extend_target(tst_qpluginloader CONDITION WIN32 AND debug_and_release AND NOT CMAKE_BUILD_TYPE STREQUAL Debug PUBLIC_LIBRARIES # Remove: L../staticplugin/release ) -extend_target(tst_qpluginloader CONDITION UNIX +extend_target(tst_qpluginloader CONDITION UNIX OR NOT debug_and_release PUBLIC_LIBRARIES # Remove: L../staticplugin ) |