- Added More Documentation

- Added some more notes to the planning doc regarding shared libraries
 - Started adding unit tests for the C++ lang library.
This commit is contained in:
2025-06-19 15:16:29 -04:00
parent 909be55ed3
commit 4d8466851c
21 changed files with 400 additions and 176 deletions

View File

@@ -1,6 +1,12 @@
cmake_minimum_required(VERSION 3.30)
project(fennec)
# External dependencies should be loaded here
# SDL is a dependency of the project, added as a git submodule
set(SDL_STATIC 1)
add_subdirectory(external/sdl)
set(CMAKE_CXX_STANDARD 26)
set(CMAKE_C_STANDARD 26)
@@ -15,7 +21,8 @@ add_subdirectory(metaprogramming)
string(TOLOWER ${CMAKE_BUILD_TYPE} FENNEC_BUILD_NAME)
set(CMAKE_BINARY_DIR ${PROJECT_SOURCE_DIR}/build/${CMAKE_PLATFORM_NO_VERSIONED_SONAME})
message(STATUS "OS: ${CMAKE_SYSTEM_NAME}")
message(STATUS "Build: ${FENNEC_BUILD_NAME}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/${FENNEC_BUILD_NAME})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/${FENNEC_BUILD_NAME})
@@ -32,7 +39,10 @@ add_library(fennec STATIC
include/fennec/containers/dynarray.h
# LANG =================================================================================================================h
# LANG =================================================================================================================
include/fennec/lang/lang.h
include/fennec/lang/metaprogramming.h
include/fennec/lang/bits.h
include/fennec/lang/constants.h
include/fennec/lang/conditional_types.h
@@ -45,7 +55,9 @@ add_library(fennec STATIC
include/fennec/lang/types.h
include/fennec/lang/utility.h
include/fennec/lang/type_sequences.h
include/fennec/lang/integer.h
include/fennec/lang/detail/__bits.h
include/fennec/lang/detail/__numeric_transforms.h
include/fennec/lang/detail/__type_traits.h
include/fennec/lang/detail/__type_sequences.h
@@ -86,16 +98,15 @@ add_library(fennec STATIC
include/fennec/math/detail/__fwd.h
include/fennec/math/detail/__types.h
include/fennec/math/detail/__vector_traits.h
include/fennec/lang/lang.h
include/fennec/lang/detail/__bits.h
include/fennec/lang/integer.h
include/fennec/lang/assert.h
source/lang/assert.cpp
)
# add metaprogramming templates as a dependency and also force documentation to be generated when fennec is compiled
if(DOXYGEN_FOUND)
add_dependencies(fennec fennecdocs metaprogramming)
add_dependencies(fennec fennecdocs metaprogramming SDL3-static)
else()
add_dependencies(fennec metaprogramming)
add_dependencies(fennec metaprogramming SDL3-static)
endif()
# Compiler Warning Flags