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
+33 -19
View File
@@ -1,6 +1,13 @@
cmake_minimum_required(VERSION 3.10)
project(NBCore VERSION 0.1)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
toAbsolutePath(NB_CORE_SOURCE
./src/ErrorsImpl.cpp
./src/Logger.cpp
@@ -14,6 +21,7 @@ toAbsolutePath(NB_CORE_INCLUDE
./include/NBCore/Errors.hpp
./include/NBCore/ErrorsImpl.hpp
./include/NBCore/Logger.hpp
./include/NBCore/Printer.hpp
./include/NBCore/Processes.hpp
./include/NBCore/StringUtils.hpp
./include/NBCore/ThreadsafeQueue.hpp
@@ -28,45 +36,51 @@ set(NB_CORE_INCLUDE ${NB_CORE_INCLUDE} PARENT_SCOPE)
add_library(NBCore ${NB_CORE_SOURCE})
add_library(NBEngine::Core ALIAS NBCore)
target_include_directories(NBCore
PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
PUBLIC "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
export(
TARGETS NBCore
FILE "${CMAKE_BINARY_DIR}/cmake/NBCoreTargets.cmake"
NAMESPACE NBEngine::
)
configure_package_config_file(
"NBCoreConfig.cmake.in"
"${CMAKE_BINARY_DIR}/cmake/NBCoreConfig.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${CMAKE_BINARY_DIR}/cmake/NBCoreConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
if (NBENGINE_INSTALL)
message("Installing NBCore to ${CMAKE_INSTALL_PREFIX}")
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
install(
TARGETS NBCore
EXPORT NBCoreTargets
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
)
install(
DIRECTORY "${PROJECT_SOURCE_DIR}/include/NBCore"
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/NBCore"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)
install(
EXPORT NBCoreTargets
DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
NAMESPACE NBEngine::
)
configure_package_config_file(
"NBCoreConfig.cmake.in"
"NBCoreConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
"${CMAKE_BINARY_DIR}/cmake/NBCoreConfig.cmake"
"${CMAKE_BINARY_DIR}/cmake/NBCoreConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_PREFIX}/CMake"
)
endif()
if (NB_BUILD_TESTS)
add_subdirectory(./tests)
add_subdirectory(./tests )
endif()