From 78ec5994667c9278e9a511e0f25cc67dff00fde2 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Tue, 7 Feb 2023 23:18:19 +0100 Subject: [PATCH] Fixed building on macos with LLVM Clang --- src/CMakeLists.txt | 9 ++++----- tests/CMakeLists.txt | 14 ++------------ 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ef4b7700..290c95f9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,11 +22,11 @@ else(MSVC) add_library(clang-umllib OBJECT ${SOURCES}) endif(MSVC) +target_compile_features(clang-umllib INTERFACE cxx_std_17) target_compile_options(clang-umllib PRIVATE $<$,$>: -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field> - $<$: - /MP /W1 /std:c++17 /bigobj /wd4291 /wd4624 /wd4244>) + $<$:/MP /W1 /bigobj /wd4291 /wd4624 /wd4244>) target_compile_definitions(clang-umllib PRIVATE $<$: -DLLVM_FORCE_USE_OLD_TOOLCHAIN>) @@ -36,12 +36,11 @@ target_compile_definitions(clang-umllib PRIVATE # add_executable(clang-uml ${MAIN_SOURCE_FILE}) +target_compile_features(clang-uml PUBLIC cxx_std_17) target_compile_options(clang-uml PRIVATE $<$,$>: -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field> - $<$: - /MP /W1 /std:c++17 /bigobj /wd4291 /wd4624 /wd4244>) - + $<$:/MP /W1 /bigobj /wd4291 /wd4624 /wd4244>) target_link_libraries(clang-uml ${YAML_CPP_LIBRARIES} ${LIBTOOLING_LIBS} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index dfba8252..ded8a48b 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,13 +1,3 @@ -if(APPLE) - # Without this, clang-uml test cases fail with error saying that - # clang cannot find stdarg.h - set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} - -I${LLVM_LIBRARY_DIR}/clang/${LLVM_PACKAGE_VERSION}/include") - set(CMAKE_CXX_FLAGS_DEBUG - "${CMAKE_CXX_FLAGS_DEBUG} - -I${LLVM_LIBRARY_DIR}/clang/${LLVM_PACKAGE_VERSION}/include") -endif(APPLE) file(GLOB_RECURSE TEST_CASE_SOURCES t*/*.cc) file(GLOB_RECURSE TEST_CASE_CONFIGS t*/.clang-uml) @@ -37,12 +27,12 @@ foreach(TEST_NAME ${TEST_CASES}) ${TEST_NAME}.cc $<$:${TEST_CASE_SOURCES}> catch.h) + target_compile_features(${TEST_NAME} PRIVATE cxx_std_17) target_compile_options(${TEST_NAME} PRIVATE $<$,$>: -Wno-unused-parameter -Wno-unused-private-field -Wno-unused-variable -Wno-attributes -Wno-nonnull> - $<$: - /MP /W1 /std:c++17 /bigobj /wd4624>) + $<$:/MP /W1 /bigobj /wd4624>) target_link_libraries(${TEST_NAME} PRIVATE ${CLANG_UML_TEST_LIBRARIES}) endforeach()