diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3b1253bffb1b827039eae00440b18c07ed702633..7be92e69e342b862c8a29d7ea282306ac4d674c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,11 +103,19 @@ target_include_directories(alarm_handler
         "${PROJECT_BINARY_DIR}"
 	${Boost_INCLUDE_DIRS})
 
-set_target_properties(alarm_handler 
-    PROPERTIES 
+if(NOT (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
+    set_target_properties(alarm_handler
+        PROPERTIES
         OUTPUT_NAME ${AH_NAME}
         LINK_FLAGS "-Wl,--no-undefined"
         CXX_STANDARD 17)
+else()
+    set_target_properties(alarm_handler
+        PROPERTIES
+        OUTPUT_NAME ${AH_NAME}
+        LINK_FLAGS ""
+        CXX_STANDARD 17)
+endif()
 
 if(DO_CLANG_TIDY)
     set_target_properties(alarm_handler 
diff --git a/test/testdevice/CMakeLists.txt b/test/testdevice/CMakeLists.txt
index bfba52a7794848c53b7450e5f28ba676389656d3..0d68e588a39b0b05e963e2847003b0e2f5977a78 100644
--- a/test/testdevice/CMakeLists.txt
+++ b/test/testdevice/CMakeLists.txt
@@ -76,11 +76,19 @@ target_include_directories(testdevice
         "${PROJECT_BINARY_DIR}"
 	)
 
-set_target_properties(testdevice 
-    PROPERTIES 
+if(NOT (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
+    set_target_properties(testdevice
+        PROPERTIES
         OUTPUT_NAME ${DEV_NAME}
         LINK_FLAGS "-Wl,--no-undefined"
         CXX_STANDARD 17)
+else()
+    set_target_properties(testdevice
+        PROPERTIES
+        OUTPUT_NAME ${DEV_NAME}
+        LINK_FLAGS ""
+        CXX_STANDARD 17)
+endif()
 
 target_compile_options(testdevice 
     PRIVATE "$<$<CONFIG:DEBUG>:-g>")