From 8e73db6ccd9b5b844af61807ed34470182170886 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Fri, 11 Feb 2022 22:51:55 +0100 Subject: [PATCH] Fixed building on macos --- CMakeLists.txt | 3 ++- src/class_diagram/visitor/translation_unit_visitor.cc | 4 ++++ src/package_diagram/model/package.h | 9 +++++---- src/package_diagram/visitor/translation_unit_visitor.cc | 2 ++ tests/t00006/t00006.cc | 1 + tests/t00028/t00028.cc | 5 +++++ 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 47b8262c..bb7c2bbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ set(LLVM_PREFERRED_VERSION 12.0.0) message(STATUS "Checking for spdlog...") find_package(spdlog REQUIRED) -add_definitions(-DSPDLOG_FMT_EXTERNAL) +get_target_property(SPDLOG_INCLUDE_DIRS spdlog::spdlog INTERFACE_INCLUDE_DIRECTORIES) message(STATUS "Checking for yaml-cpp...") find_package(yaml-cpp REQUIRED) @@ -47,6 +47,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() include_directories(${CLANG_UML_INSTALL_INCLUDE_DIR}) include_directories(${YAML_CPP_INCLUDE_DIR}) +include_directories(${SPDLOG_INCLUDE_DIRS}) include_directories(${UML_HEADERS_DIR}) include_directories(${THIRDPARTY_HEADERS_DIR}) include_directories(${THIRDPARTY_HEADERS_DIR}/cppast/include) diff --git a/src/class_diagram/visitor/translation_unit_visitor.cc b/src/class_diagram/visitor/translation_unit_visitor.cc index 39cc4e61..2ce17a31 100644 --- a/src/class_diagram/visitor/translation_unit_visitor.cc +++ b/src/class_diagram/visitor/translation_unit_visitor.cc @@ -600,8 +600,10 @@ void translation_unit_visitor::process_field( auto &tr = cx::util::unreferenced(cppast::remove_cv(mv.type())); +#ifndef __APPLE__ LOG_DBG("Processing field {} with unreferenced type of kind {}", mv.name(), tr.kind()); +#endif if (tr.kind() == cppast::cpp_type_kind::builtin_t) { LOG_DBG("Builtin type found for field: {}", m.name()); @@ -1076,8 +1078,10 @@ bool translation_unit_visitor::find_relationships(const cppast::cpp_type &t_, const auto fn = cx::util::full_name(cppast::remove_cv(t_), ctx.entity_index(), false); +#ifndef __APPLE__ LOG_DBG("Finding relationships for type {}, {}, {}", cppast::to_string(t_), t_.kind(), fn); +#endif relationship_t relationship_type = relationship_hint; const auto &t = cppast::remove_cv(cx::util::unreferenced(t_)); diff --git a/src/package_diagram/model/package.h b/src/package_diagram/model/package.h index 451827a4..7f9ac088 100644 --- a/src/package_diagram/model/package.h +++ b/src/package_diagram/model/package.h @@ -31,7 +31,7 @@ namespace clanguml::package_diagram::model { namespace detail { -template class Container, +template class Container, typename Ptr = std::unique_ptr> class package_trait { public: @@ -104,8 +104,9 @@ public: packages_.end(); } - typedef typename Container::iterator iterator; - typedef typename Container::const_iterator const_iterator; + typedef typename Container>::iterator iterator; + typedef typename Container>::const_iterator + const_iterator; inline iterator begin() noexcept { return packages_.begin(); } inline const_iterator cbegin() const noexcept { return packages_.cbegin(); } @@ -113,7 +114,7 @@ public: inline const_iterator cend() const noexcept { return packages_.cend(); } protected: - Container> packages_; + Container> packages_; }; } diff --git a/src/package_diagram/visitor/translation_unit_visitor.cc b/src/package_diagram/visitor/translation_unit_visitor.cc index fe1e3f45..b16cd376 100644 --- a/src/package_diagram/visitor/translation_unit_visitor.cc +++ b/src/package_diagram/visitor/translation_unit_visitor.cc @@ -381,8 +381,10 @@ bool translation_unit_visitor::find_relationships(const cppast::cpp_type &t_, const auto fn_ns = cx::util::ns(cppast::remove_cv(t_), ctx.entity_index()); +#ifndef __APPLE__ LOG_DBG("Finding relationships for type {}, {}, {}", cppast::to_string(t_), t_.kind(), fn); +#endif relationship_t relationship_type = relationship_hint; const auto &t = cppast::remove_cv(cx::util::unreferenced(t_)); diff --git a/tests/t00006/t00006.cc b/tests/t00006/t00006.cc index f1bd5d2e..8018dc67 100644 --- a/tests/t00006/t00006.cc +++ b/tests/t00006/t00006.cc @@ -1,3 +1,4 @@ +#include #include #include diff --git a/tests/t00028/t00028.cc b/tests/t00028/t00028.cc index 3a0eb8f2..ca55afb1 100644 --- a/tests/t00028/t00028.cc +++ b/tests/t00028/t00028.cc @@ -39,6 +39,11 @@ enum class F { one, two, three }; /// \uml{note[right] R class note.} class R { + explicit R(C &c) + : ccc(c) + { + } + A aaa; B *bbb;