Better sinks, better loggers, etx

This commit is contained in:
NaifBanana
2026-08-20 08:08:20 -05:00
parent 5415a01885
commit 9628a75710
14 changed files with 586 additions and 301 deletions
+53 -21
View File
@@ -9,6 +9,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
include(CMakeDependentOption)
function(toAbsolutePath SETVAR PATHS)
set(PATHS ${PATHS} ${ARGN})
@@ -31,13 +32,42 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(STATUS "Targeting Release build")
elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
message(STATUS "Targeting Debug build")
set(NB_LOGGING ON)
set(NB_BUILD_TESTS ON)
set(NB_BUILD_DOCS ON)
set(NBENGINE_INSTALL ON)
set(NB_DEBUG_BUILD ON)
add_compile_definitions(_NB_BUILD_DEBUG)
endif()
cmake_dependent_option(NB_LOGGING
"Creates a default logger and automatically logs with code locations."
ON
NB_DEBUG_BUILD
OFF
)
cmake_dependent_option(NB_BUILD_TESTS
"Build unit tests"
ON
NB_DEBUG_BUILD
OFF
)
cmake_dependent_option(NB_BUILD_DOCS
"Build documentation"
ON
NB_DEBUG_BUILD
OFF
)
cmake_dependent_option(NBENGINE_INSTALL
"Install NBEngine"
ON
NB_DEBUG_BUILD
OFF
)
cmake_dependent_option(NB_MONITOR_OPENGL_CALLS
"Monitors every OpenGL call for errors"
ON
NB_DEBUG_BUILD
OFF
)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
message(STATUS "Building for Windows")
set(NB_TARGET_WINDOWS ON)
@@ -67,15 +97,16 @@ if (NB_LOGGING)
add_compile_definitions(_NB_CODE_ERROR_LOCATIONS)
endif()
if (NB_TARGET_WINDOWS)
if(NB_TARGET_WINDOWS)
add_compile_definitions(_NB_TARGET_WINDOWS)
elseif (NB_TARGET_LINUX)
endif()
if(NB_TARGET_LINUX)
add_compile_definitions(_NB_TARGET_LINUX)
endif()
get_filename_component(NBENGINE_ROOT ./ ABSOLUTE)
get_filename_component(NBENGINE_ROOT ${CMAKE_CURRENT_LIST_DIR} ABSOLUTE)
add_subdirectory(./engine)
add_subdirectory(./engine ${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
# Toggle
set(NB_REBUILD_DOCS)
@@ -84,22 +115,23 @@ if (NB_BUILD_DOCS)
add_subdirectory(./docs)
endif()
include(CMakePackageConfigHelpers)
configure_package_config_file(
"NBEngineConfig.cmake.in"
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
if (NBENGINE_INSTALL)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
configure_package_config_file(
"NBEngineConfig.cmake.in"
"NBEngineConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/NBEngineConfigVersion.cmake"
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfig.cmake"
"${PROJECT_BINARY_DIR}/cmake/NBEngineConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
)
endif()