Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
./build/
./.vscode/
cmake-build*/
50 changes: 42 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,52 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCES_ALLOCATOR ./allocator.cxx)
set(SOURCES_TEST ./test.cxx)

add_library(allocator SHARED ${SOURCES_ALLOCATOR})
add_executable(test ${SOURCES_TEST})
include_directories(${googletest_SOURCE_DIR}/googletest/include)
target_link_libraries(test PRIVATE gtest allocator)
find_package(Doxygen)
add_executable(a-test ${SOURCES_TEST})

target_link_libraries(a-test PRIVATE
GTest::gtest_main
allocator
)

enable_testing()

include(GoogleTest)
gtest_discover_tests(a-test)

find_package(Doxygen REQUIRED dot)
if (DOXYGEN_FOUND)
set(DOXYFILE ../Doxyfile)
add_custom_target(documentation
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE} && cd ./documentation/latex && make)
set(DOXYGEN_GENERATE_HTML YES)
set(DOXYGEN_GENERATE_MAN NO)
set(DOXYGEN_GENERATE_LATEX NO)

set(DOXYGEN_EXCLUDE_PATTERNS _deps)
set(DOXYGEN_RECURSIVE YES)

set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${CMAKE_SOURCE_DIR}/readme.md")
# set(DOXYGEN_OUTPUT_DIRECTORY ${DOC_BUILD_DIR})

# set(DOXYGEN_PROJECT_LOGO "${CMAKE_SOURCE_DIR}/doc/images/o2_logo.png")
set(DOXYGEN_GENERATE_TREEVIEW YES)
set(DOXYGEN_HIDE_UNDOC_RELATIONS NO)
set(DOXYGEN_HAVE_DOT YES)
set(DOXYGEN_DOT_NUM_THREADS 1)
set(DOXYGEN_UML_LOOK YES)
set(DOXYGEN_UML_LIMIT_NUM_FIELDS 50)
set(DOXYGEN_TEMPLATE_RELATIONS YES)
set(DOXYGEN_DOT_IMAGE_FORMAT svg)
set(DOXYGEN_INTERACTIVE_SVG YES)
set(DOXYGEN_DOT_GRAPH_MAX_NODES 100)
set(DOXYGEN_DOT_TRANSPARENT YES)

doxygen_add_docs( doc
${CMAKE_SOURCE_DIR}
COMMENT "Generating doxygen documentation for ${PROJECT_NAME}"
)

add_dependencies(allocator doc)

add_custom_target(solution ALL DEPENDS allocator test documentation)
else()
message("Doxygen isn't installed.")
add_custom_target(solution ALL DEPENDS allocator test)
Expand Down
Loading