From 92ee9bd6b885879090ba57e49c8bd84a06d42b2b Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 3 Aug 2020 16:28:16 +0200 Subject: CMake: Properly handle CONFIG += thread aka Threads::Threads mkspecs/features/qt.prf adds a dependency on the system threading library if the Qt Core thread feature is enabled. Because qt.prf is loaded by any public or internal Qt project, it's essentially a public dependency for any Qt consumer. To mimic that in CMake, we check if the thread feature is enabled, and and set the Threads::Threads library as a dependency of Qt6::Platform, which is a public target used by all Qt modules and plugins and Qt consumers. We also need to create a Qt6Dependencies.cmake file so we find_package(Threads) every time find_package(Qt6) is called. For the .prl files to be usable, we have to filter out some CMake implementation specific directory separator tokens 'CMAKE_DIRECTORY_ID_SEP' aka '::@', which are added because we call target_link_libraries() with a target created in a different scope (I think). As a result of this change, we shouldn't have to hardcode Threads::Threads in other projects, because it's now a global public dependency. Task-number: QTBUG-85801 Task-number: QTBUG-85877 Change-Id: Ib5d662c43b28e63f7da49d3bd77d0ad751220b31 Reviewed-by: Qt CI Bot Reviewed-by: Cristian Adam --- tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt | 6 ------ 1 file changed, 6 deletions(-) (limited to 'tests/auto/network') diff --git a/tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt b/tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt index 3903670156..a1a6dc172a 100644 --- a/tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt +++ b/tests/auto/network/socket/qtcpsocket/test/CMakeLists.txt @@ -21,12 +21,6 @@ qt_extend_target(tst_qtcpsocket CONDITION WIN32 ws2_32 ) -# special case begin -set(THREADS_PREFER_PTHREAD_FLAG 1) -find_package(Threads) -target_link_libraries(tst_qtcpsocket PRIVATE Threads::Threads) -# special case end - #### Keys ignored in scope 4:.:.:test.pro:(CMAKE_BUILD_TYPE STREQUAL Debug): # DESTDIR = "../debug" -- cgit v1.2.3