Adding Doxygen and CMake changes to support it

This commit is contained in:
NaifBanana 2026-04-02 02:41:24 -05:00
parent fe8d4b8e13
commit eb0ae43fae
5 changed files with 88 additions and 4 deletions

32
docs/CMakeLists.txt Normal file
View File

@ -0,0 +1,32 @@
find_package(Doxygen)
if (NOT DOXYGEN_FOUND)
message(FATAL_ERROR "Doxygen could not be sourced.")
return()
endif()
include(FetchContent)
FetchContent_Declare(
doxygen-awesome-css
URL https://github.com/jothepro/doxygen-awesome-css/archive/refs/heads/main.zip
)
FetchContent_MakeAvailable(doxygen-awesome-css)
FetchContent_GetProperties(doxygen-awesome-css SOURCE_DIR AWESOME_CSS_DIR)
set(DOXYGEN_GENERATE_HTML YES)
set(DOXYGEN_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/docs)
set(DOXYGEN_HTML_EXTRA_STYLESHEET ${AWESOME_CSS_DIR}/doxygen-awesome.css)
if(ENVNB_SOURCE_FOUND)
message("Using file timestamps...")
doxygen_add_docs(NBEngineDocumentation
${NB_CORE_SOURCE} ALL
USE_STAMP_FILE
COMMENT "Building documentation"
)
else()
message("Processing all files...")
doxygen_add_docs(NBEngineDocumentation
${PROJECT_SOURCE_DIR}/engine ALL
COMMENT "Building documentation"
)
endif()

View File

@ -1,3 +1,11 @@
add_subdirectory(./NBCore) add_subdirectory(./NBCore)
add_subdirectory(./NBEvents) add_subdirectory(./NBEvents)
add_subdirectory(./NBGraphics) add_subdirectory(./NBGraphics)
if (ENVNB_CORE_SOURCE OR ENVNB_EVENTS_SOURCE OR ENVNB_GRAPHICS_SOURCE)
set(ENVNB_SOURCE_FOUND ON)
endif()
if (ENVNB_CORE_INCLUDE OR ENVNB_EVENTS_INCLUDE OR ENVNB_GRAPHICS_INCLUDE)
set(ENVNB_INCLUDE_FOUND ON)
endif()

View File

@ -1,11 +1,27 @@
include_directories(./.) include_directories(./.)
add_library(NBCore set(NB_CORE_SOURCE
./src/Errors.cpp ./src/Errors.cpp
./src/Processes.cpp ./src/Processes.cpp
./src/Logger.cpp ./src/Logger.cpp
) )
set(NB_CORE_INCLUDE
ANSITerm.hpp
DataSink.hpp
Errors.hpp
Logger.hpp
Processes.hpp
ThreadsafeQueue.hpp
Types.hpp
TypeTraits.hpp
)
toAbsolutePath(ENVNB_CORE_SOURCE ${NB_CORE_SOURCE})
toAbsolutePath(ENVNB_CORE_INCLUDE ${NB_CORE_INCLUDE})
add_library(NBCore ${NB_CORE_SOURCE})
if (NB_BUILD_TESTS) if (NB_BUILD_TESTS)
add_subdirectory(./tests) add_subdirectory(./tests)
endif() endif()

View File

@ -1,5 +1,16 @@
include_directories(./.) include_directories(./.)
add_library(NBEvents set(NB_EVENTS_SOURCE
./src/Events.cpp ./src/Events.cpp
)
set(NB_EVENTS_INCLUDE
./Events.hpp
)
toAbsolutePath(ENVNB_EVENTS_SOURCE ${NB_EVENTS_SOURCE})
toAbsolutePath(ENVNB_EVENTS_INCLUDE ${NB_EVENTS_INCLUDE})
add_library(NBEvents
${NB_EVENTS_SOURCE}
) )

View File

@ -10,9 +10,26 @@ set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_library(NBGraphics set(NB_GRAPHICS_SOURCE
./src/Window.cpp ./src/Window.cpp
./src/Buffers.cpp ./src/Buffers.cpp
)
set(NB_GRAPHICS_INCLUDE
./Buffers.hpp
./Camera.hpp
./Draw.hpp
./GLLoad.hpp
./shader.hpp
./VAOManager.hpp
./Window.hpp
)
toAbsolutePath(ENVNB_GRAPHICS_SOURCE ${NB_GRAPHICS_SOURCE})
toAbsolutePath(ENVNB_GRAPHICS_INCLUDE ${NB_GRAPHICS_INCLUDE})
add_library(NBGraphics
${NB_GRAPHICS_SOURCE}
${GLAD_PATH}/src/glad.c ${GLAD_PATH}/src/glad.c
) )
target_link_libraries(NBGraphics glfw3) target_link_libraries(NBGraphics glfw3)