diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2020-02-19 16:24:53 +0100 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2020-02-20 15:11:01 +0000 |
commit | a2376f4ded447d9d19cc8978f18319bde09484d7 (patch) | |
tree | 6ef93f3c146585dfe96037cc8b617571aa0b5d59 /tests/auto/corelib/plugin | |
parent | 0959c75d16a37fbbdfa4fcf14311b773079319a9 (diff) |
CMake: Fix tst_plugin
It is not possible to exclude targets based on the build configuration
in CMake. loadDebugPlugin() and loadReleasePlugin() will always fail as
both debug and release plugins are built regardless of the build
configuration.
This patch adds the CMAKE_BUILD define and skips the opposite test on
Windows. E.g.: With config = Debug, the loadReleasePlugin() test is
skipped and viceversa.
Change-Id: I2659882604bb39eb11d3e9e2b2b37a2972475285
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'tests/auto/corelib/plugin')
-rw-r--r-- | tests/auto/corelib/plugin/qplugin/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/corelib/plugin/qplugin/CMakeLists.txt b/tests/auto/corelib/plugin/qplugin/CMakeLists.txt index efc810075a..b2829099aa 100644 --- a/tests/auto/corelib/plugin/qplugin/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qplugin/CMakeLists.txt @@ -21,5 +21,7 @@ add_qt_test(tst_qplugin TESTDATA ${test_data} ) +target_compile_definitions(tst_qplugin PRIVATE CMAKE_BUILD=1) + add_dependencies(tst_qplugin invalidplugin debugplugin releaseplugin) # special case end diff --git a/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp b/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp index aa85a7c35b..644b8b700d 100644 --- a/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp +++ b/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp @@ -81,6 +81,9 @@ void tst_QPlugin::loadDebugPlugin() QObject *object = loader.instance(); QVERIFY(object != 0); #else +# if defined(CMAKE_BUILD) && defined(QT_NO_DEBUG) + QSKIP("Skipping test as it is not possible to disable build targets based on configuration with CMake"); +# endif // loading a plugin is dependent on which lib we are running against # if defined(QT_NO_DEBUG) // release build, we cannot load debug plugins @@ -111,6 +114,9 @@ void tst_QPlugin::loadReleasePlugin() QObject *object = loader.instance(); QVERIFY(object != 0); #else +# if defined(CMAKE_BUILD) && !defined(QT_NO_DEBUG) + QSKIP("Skipping test as it is not possible to disable build targets based on configuration with CMake"); +# endif // loading a plugin is dependent on which lib we are running against # if defined(QT_NO_DEBUG) // release build, we can load debug plugins |