From 35d679ad8ccaa5d6f7f8465a9b80b1dc4019a6ea Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Fri, 19 Aug 2022 13:04:45 +0200 Subject: [PATCH] build: Add feature flag `FAIRMQ_HAS_STD_PMR` Currently Clang (libc++) does not implement . --- cmake/FairMQProjectSettings.cmake | 9 +++++++++ fairmq/CMakeLists.txt | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/FairMQProjectSettings.cmake b/cmake/FairMQProjectSettings.cmake index b3621c8d..c860c6da 100644 --- a/cmake/FairMQProjectSettings.cmake +++ b/cmake/FairMQProjectSettings.cmake @@ -174,3 +174,12 @@ if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" else() set(FAIRMQ_HAS_STD_FILESYSTEM 1) endif() + +if(NOT DEFINED FAIRMQ_HAS_STD_PMR) + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # Clang (to be more precise: libc++) currently does not implement + set(FAIRMQ_HAS_STD_PMR 0) + else() + set(FAIRMQ_HAS_STD_PMR 1) + endif() +endif() diff --git a/fairmq/CMakeLists.txt b/fairmq/CMakeLists.txt index ec8119b7..090267d2 100644 --- a/fairmq/CMakeLists.txt +++ b/fairmq/CMakeLists.txt @@ -187,7 +187,10 @@ if(BUILD_FAIRMQ) if(BUILD_OFI_TRANSPORT) target_compile_definitions(${target} PRIVATE BUILD_OFI_TRANSPORT) endif() - target_compile_definitions(${target} PUBLIC FAIRMQ_HAS_STD_FILESYSTEM=${FAIRMQ_HAS_STD_FILESYSTEM}) + target_compile_definitions(${target} PUBLIC + FAIRMQ_HAS_STD_FILESYSTEM=${FAIRMQ_HAS_STD_FILESYSTEM} + FAIRMQ_HAS_STD_PMR=${FAIRMQ_HAS_STD_PMR} + ) #######################