From 53822b18eb06b7722a50697d24775d53e61bfb98 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Mon, 20 Apr 2026 18:45:38 +0100 Subject: [PATCH] cmake: Refactor threadlib linking --- CMakeLists.txt | 5 +++++ lib/CMakeLists.txt | 9 +-------- lib/cpp/CMakeLists.txt | 5 +---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac47521d..36592cab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,6 +119,11 @@ if(WITH_THREADING) add_definitions("-DWITH_THREADING") if(WIN32) find_package(PThreads4W REQUIRED) + set (THREADLIB PThreads4W::PThreads4W) + else() + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + set (THREADLIB Threads::Threads) endif() endif() diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index df26147d..c7e93341 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -100,14 +100,7 @@ target_include_directories(libmosquitto ) if(WITH_THREADING) - if(WIN32) - set (LIBRARIES ${LIBRARIES} PThreads4W::PThreads4W) - else() - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - - set (LIBRARIES ${LIBRARIES} Threads::Threads) - endif() + set (LIBRARIES ${LIBRARIES} ${THREADLIB}) endif() target_link_libraries(libmosquitto PUBLIC ${LIBRARIES}) diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt index 2007f7a6..c36995aa 100644 --- a/lib/cpp/CMakeLists.txt +++ b/lib/cpp/CMakeLists.txt @@ -19,10 +19,7 @@ target_link_libraries(mosquittopp ) if (WITH_THREADING AND NOT WIN32) - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - - target_link_libraries(mosquittopp PRIVATE Threads::Threads) + target_link_libraries(mosquittopp PRIVATE ${THREADLIB}) endif() set_target_properties(mosquittopp PROPERTIES