From 1809e18c7bb23d88ddb716482d72b3ce195a1b35 Mon Sep 17 00:00:00 2001 From: Catherine Date: Thu, 23 Feb 2023 07:59:45 +0000 Subject: CMake: detect platform support for threads --- CMakeLists.txt | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4fba1219..f48a894c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,28 +44,27 @@ endif() set(Boost_NO_BOOST_CMAKE ON) +find_package(Threads) +if (Threads_FOUND) + find_package(TBB QUIET) + if (TBB_FOUND) + add_definitions(-DNEXTPNR_USE_TBB) + endif() +else() + add_definitions(-DNPNR_DISABLE_THREADS) +endif() + if(WASI) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lwasi-emulated-mman") - set(USE_THREADS OFF) add_definitions( -DBOOST_EXCEPTION_DISABLE -DBOOST_NO_EXCEPTIONS - -DBOOST_SP_NO_ATOMIC_ACCESS - -DBOOST_AC_DISABLE_THREADS - -DBOOST_NO_CXX11_HDR_MUTEX ) -else() - set(USE_THREADS ON) - find_package(TBB QUIET) - if (TBB_FOUND) - add_definitions(-DNEXTPNR_USE_TBB) + if (NOT Threads_FOUND) + add_definitions(-DBOOST_NO_CXX11_HDR_MUTEX) endif() endif() -if (NOT USE_THREADS) - add_definitions(-DNPNR_DISABLE_THREADS) -endif() - set(link_param "") if (STATIC_BUILD) set(Boost_USE_STATIC_LIBS ON) @@ -168,7 +167,7 @@ find_package(Sanitizers) # List of Boost libraries to include set(boost_libs filesystem program_options iostreams system) -if (USE_THREADS) +if (Threads_FOUND) list(APPEND boost_libs thread) endif() -- cgit v1.2.3