From b11396cbf3569b7d76585c6ce9c60ac5aee029e4 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Sat, 12 Feb 2022 18:55:42 +0100 Subject: [PATCH] Fixed building with clang --- CMakeLists.txt | 8 +++++--- Makefile | 2 +- tests/t00017/t00017.cc | 13 ++++++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bb7c2bbd..566a3895 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,16 +15,18 @@ set(CLANG_UML_INSTALL_BIN_DIR ${PROJECT_SOURCE_DIR}/bin) set(UML_HEADERS_DIR ${PROJECT_SOURCE_DIR}/src/uml) -set(LLVM_PREFERRED_VERSION 12.0.0) message(STATUS "Checking for spdlog...") find_package(spdlog REQUIRED) -get_target_property(SPDLOG_INCLUDE_DIRS spdlog::spdlog INTERFACE_INCLUDE_DIRECTORIES) +get_target_property(SPDLOG_INCLUDE_DIRS spdlog::spdlog_header_only INTERFACE_INCLUDE_DIRECTORIES) +add_definitions(-DSPDLOG_FMT_EXTERNAL) message(STATUS "Checking for yaml-cpp...") find_package(yaml-cpp REQUIRED) message(STATUS "Checking for libclang...") +set(LLVM_PREFERRED_VERSION 12.0.0) +set(LIBCLANG_LLVM_CONFIG_EXECUTABLE "/usr/local/opt/llvm@12/bin/llvm-config") find_package(LibClang REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 ${LIBCLANG_CXXFLAGS}") @@ -63,7 +65,7 @@ add_library(clang-umllib OBJECT ${SOURCES}) add_executable(clang-uml ${MAIN_SOURCE_FILE}) install(TARGETS clang-uml DESTINATION ${CLANG_UML_INSTALL_BIN_DIR}) -target_link_libraries(clang-uml ${LIBCLANG_LIBRARIES} ${YAML_CPP_LIBRARIES} spdlog::spdlog cppast clang-umllib) +target_link_libraries(clang-uml ${LIBCLANG_LIBRARIES} ${YAML_CPP_LIBRARIES} spdlog::spdlog_header_only cppast clang-umllib) target_compile_features(clang-uml PRIVATE cxx_std_17) install( diff --git a/Makefile b/Makefile index 231f3eed..2960c91f 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ release/CMakeLists.txt: debug: debug/CMakeLists.txt echo "Using ${NUMPROC} cores" - make -C debug -j$(NUMPROC) + make -C debug -j$(NUMPROC) VERBOSE=1 release: release/CMakeLists.txt make -C release -j diff --git a/tests/t00017/t00017.cc b/tests/t00017/t00017.cc index d10162a4..92464186 100644 --- a/tests/t00017/t00017.cc +++ b/tests/t00017/t00017.cc @@ -1,3 +1,5 @@ +#include + namespace clanguml { namespace t00017 { class A { @@ -34,6 +36,15 @@ class K { }; class R { + explicit R(int &some_int, C &cc, const E &ee, F &&ff, I *&ii) + : some_int_reference{some_int} + , c{cc} + , e{ee} + , f{std::move(ff)} + , i{ii} + { + } + private: int some_int; int *some_int_pointer; @@ -43,7 +54,7 @@ private: B *b; C &c; const D *d; - const E &e{}; + const E &e; F &&f; G **g; H ***h;