Fixed building on macos

This commit is contained in:
Bartek Kryza
2022-02-11 22:51:55 +01:00
parent 45c26f76a3
commit 8e73db6ccd
6 changed files with 19 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ set(LLVM_PREFERRED_VERSION 12.0.0)
message(STATUS "Checking for spdlog...") message(STATUS "Checking for spdlog...")
find_package(spdlog REQUIRED) 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...") message(STATUS "Checking for yaml-cpp...")
find_package(yaml-cpp REQUIRED) find_package(yaml-cpp REQUIRED)
@@ -47,6 +47,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif() endif()
include_directories(${CLANG_UML_INSTALL_INCLUDE_DIR}) include_directories(${CLANG_UML_INSTALL_INCLUDE_DIR})
include_directories(${YAML_CPP_INCLUDE_DIR}) include_directories(${YAML_CPP_INCLUDE_DIR})
include_directories(${SPDLOG_INCLUDE_DIRS})
include_directories(${UML_HEADERS_DIR}) include_directories(${UML_HEADERS_DIR})
include_directories(${THIRDPARTY_HEADERS_DIR}) include_directories(${THIRDPARTY_HEADERS_DIR})
include_directories(${THIRDPARTY_HEADERS_DIR}/cppast/include) include_directories(${THIRDPARTY_HEADERS_DIR}/cppast/include)

View File

@@ -600,8 +600,10 @@ void translation_unit_visitor::process_field(
auto &tr = cx::util::unreferenced(cppast::remove_cv(mv.type())); auto &tr = cx::util::unreferenced(cppast::remove_cv(mv.type()));
#ifndef __APPLE__
LOG_DBG("Processing field {} with unreferenced type of kind {}", mv.name(), LOG_DBG("Processing field {} with unreferenced type of kind {}", mv.name(),
tr.kind()); tr.kind());
#endif
if (tr.kind() == cppast::cpp_type_kind::builtin_t) { if (tr.kind() == cppast::cpp_type_kind::builtin_t) {
LOG_DBG("Builtin type found for field: {}", m.name()); 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 = const auto fn =
cx::util::full_name(cppast::remove_cv(t_), ctx.entity_index(), false); cx::util::full_name(cppast::remove_cv(t_), ctx.entity_index(), false);
#ifndef __APPLE__
LOG_DBG("Finding relationships for type {}, {}, {}", cppast::to_string(t_), LOG_DBG("Finding relationships for type {}, {}, {}", cppast::to_string(t_),
t_.kind(), fn); t_.kind(), fn);
#endif
relationship_t relationship_type = relationship_hint; relationship_t relationship_type = relationship_hint;
const auto &t = cppast::remove_cv(cx::util::unreferenced(t_)); const auto &t = cppast::remove_cv(cx::util::unreferenced(t_));

View File

@@ -31,7 +31,7 @@
namespace clanguml::package_diagram::model { namespace clanguml::package_diagram::model {
namespace detail { namespace detail {
template <typename T, template <typename> class Container, template <typename T, template <typename, typename> class Container,
typename Ptr = std::unique_ptr<T>> typename Ptr = std::unique_ptr<T>>
class package_trait { class package_trait {
public: public:
@@ -104,8 +104,9 @@ public:
packages_.end(); packages_.end();
} }
typedef typename Container<Ptr>::iterator iterator; typedef typename Container<Ptr, std::allocator<Ptr>>::iterator iterator;
typedef typename Container<Ptr>::const_iterator const_iterator; typedef typename Container<Ptr, std::allocator<Ptr>>::const_iterator
const_iterator;
inline iterator begin() noexcept { return packages_.begin(); } inline iterator begin() noexcept { return packages_.begin(); }
inline const_iterator cbegin() const noexcept { return packages_.cbegin(); } inline const_iterator cbegin() const noexcept { return packages_.cbegin(); }
@@ -113,7 +114,7 @@ public:
inline const_iterator cend() const noexcept { return packages_.cend(); } inline const_iterator cend() const noexcept { return packages_.cend(); }
protected: protected:
Container<std::unique_ptr<T>> packages_; Container<Ptr, std::allocator<Ptr>> packages_;
}; };
} }

View File

@@ -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()); 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_), LOG_DBG("Finding relationships for type {}, {}, {}", cppast::to_string(t_),
t_.kind(), fn); t_.kind(), fn);
#endif
relationship_t relationship_type = relationship_hint; relationship_t relationship_type = relationship_hint;
const auto &t = cppast::remove_cv(cx::util::unreferenced(t_)); const auto &t = cppast::remove_cv(cx::util::unreferenced(t_));

View File

@@ -1,3 +1,4 @@
#include <array>
#include <map> #include <map>
#include <vector> #include <vector>

View File

@@ -39,6 +39,11 @@ enum class F { one, two, three };
/// \uml{note[right] R class note.} /// \uml{note[right] R class note.}
class R { class R {
explicit R(C &c)
: ccc(c)
{
}
A aaa; A aaa;
B *bbb; B *bbb;