From db1de48291c9ce8316573eac84a9f0e56a8e1ac7 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 8 Jun 2020 18:21:18 +0200 Subject: [PATCH] CMake: Fix failing plugin tests on MinGW MinGW plugins should not have the lib prefix in the shared library names. Do this manually for a couple of libraries, and also for the generic qt_add_cmake_library function. Amends 9b0e23ef8a915a8c58808fa356f771ecdb6f020c Change-Id: I1cfaf8fc046f86edd3e755adfa599aa0aa854ee3 Reviewed-by: Joerg Bornemann --- cmake/QtBuild.cmake | 4 ++++ tests/auto/corelib/plugin/qlibrary/lib/CMakeLists.txt | 6 ++++++ tests/auto/corelib/plugin/qlibrary/lib2/CMakeLists.txt | 6 ++++++ tests/auto/corelib/plugin/qpluginloader/lib/CMakeLists.txt | 7 +++++++ 4 files changed, 23 insertions(+) diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 5c12c93bba6..184153543df 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -3895,6 +3895,10 @@ function(qt_add_cmake_library target) # but Qt plugins are actually suffixed with .dylib. set_property(TARGET "${target}" PROPERTY SUFFIX ".dylib") endif() + if(WIN32) + # CMake sets for Windows-GNU platforms the suffix "lib" + set_property(TARGET "${target}" PROPERTY PREFIX "") + endif() else() add_library("${target}") endif() diff --git a/tests/auto/corelib/plugin/qlibrary/lib/CMakeLists.txt b/tests/auto/corelib/plugin/qlibrary/lib/CMakeLists.txt index f2de91635aa..f3480200ccd 100644 --- a/tests/auto/corelib/plugin/qlibrary/lib/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qlibrary/lib/CMakeLists.txt @@ -21,6 +21,12 @@ set_target_properties(mylib PROPERTIES C_VISIBILITY_PRESET "default" CXX_VISIBILITY_PRESET "default" ) + +if(WIN32) + # CMake sets for Windows-GNU platforms the suffix "lib" + set_property(TARGET mylib PROPERTY PREFIX "") +endif() + # special case end #### Keys ignored in scope 1:.:.:lib.pro:: diff --git a/tests/auto/corelib/plugin/qlibrary/lib2/CMakeLists.txt b/tests/auto/corelib/plugin/qlibrary/lib2/CMakeLists.txt index 716ad488d08..a91b99f1c23 100644 --- a/tests/auto/corelib/plugin/qlibrary/lib2/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qlibrary/lib2/CMakeLists.txt @@ -33,6 +33,12 @@ set_target_properties(mylib2 PROPERTIES C_VISIBILITY_PRESET "default" CXX_VISIBILITY_PRESET "default" ) + +if(WIN32) + # CMake sets for Windows-GNU platforms the suffix "lib" + set_property(TARGET mylib2 PROPERTY PREFIX "") +endif() + if (UNIX) add_dependencies(mylib2 mylib) add_custom_command(TARGET mylib2 POST_BUILD diff --git a/tests/auto/corelib/plugin/qpluginloader/lib/CMakeLists.txt b/tests/auto/corelib/plugin/qpluginloader/lib/CMakeLists.txt index aa980eabaaf..c547b755928 100644 --- a/tests/auto/corelib/plugin/qpluginloader/lib/CMakeLists.txt +++ b/tests/auto/corelib/plugin/qpluginloader/lib/CMakeLists.txt @@ -14,6 +14,13 @@ add_cmake_library(tst_qpluginloaderlib Qt::Core ) +# special case begin +if(WIN32) + # CMake sets for Windows-GNU platforms the suffix "lib" + set_property(TARGET tst_qpluginloaderlib PROPERTY PREFIX "") +endif() +# special case begin + #### Keys ignored in scope 1:.:.:lib.pro:: # INSTALLS = "target" # TEMPLATE = "lib"