Made NBEngine installable + CMake restruct

This commit is contained in:
NaifBanana
2026-07-19 22:19:50 -05:00
parent abbae156a2
commit 5415a01885
26 changed files with 159 additions and 78 deletions
+25 -8
View File
@@ -7,6 +7,9 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
function(toAbsolutePath SETVAR PATHS)
set(PATHS ${PATHS} ${ARGN})
set(RET_VAL "")
@@ -31,6 +34,7 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(NB_LOGGING ON)
set(NB_BUILD_TESTS ON)
set(NB_BUILD_DOCS ON)
set(NBENGINE_INSTALL ON)
add_compile_definitions(_NB_BUILD_DEBUG)
endif()
@@ -55,7 +59,6 @@ if(NB_BUILD_TESTS)
FetchContent_MakeAvailable(gtest)
endif()
set(GTEST_COLOR ON)
set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
endif()
if (NB_LOGGING)
@@ -70,13 +73,7 @@ elseif (NB_TARGET_LINUX)
add_compile_definitions(_NB_TARGET_LINUX)
endif()
# External Dep paths
set(GLFW_PATH ../glfw/)
set(GLAD_PATH ../glad/)
set(STBIMAGE_PATH ../stbi_image)
get_filename_component(GLFW_PATH ${GLFW_PATH} ABSOLUTE)
get_filename_component(GLAD_PATH ${GLAD_PATH} ABSOLUTE)
get_filename_component(STBIMAGE_PATH ${STBIMAGE_PATH} ABSOLUTE)
get_filename_component(NBENGINE_ROOT ./ ABSOLUTE)
add_subdirectory(./engine)
@@ -86,3 +83,23 @@ set(NB_REBUILD_DOCS)
if (NB_BUILD_DOCS)
add_subdirectory(./docs)
endif()
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"
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
)
endif()