Uhhhhh big big changes

This commit is contained in:
NaifBanana
2026-08-20 08:14:29 -05:00
parent bb2f046c90
commit be68245771
20 changed files with 561 additions and 285 deletions
+34 -23
View File
@@ -1,10 +1,11 @@
cmake_minimum_required(VERSION 3.10)
project(NBGraphics VERSION 0.1)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
set(GLAD_PATH ${NBENGINE_ROOT}/../glad/)
set(STBIMAGE_PATH ${NBENGINE_ROOT}/../stbi_image)
get_filename_component(GLAD_PATH ${GLAD_PATH} ABSOLUTE)
get_filename_component(STBIMAGE_PATH ${STBIMAGE_PATH} ABSOLUTE)
set(CMAKE_PREFIX_PATH
"${CMAKE_PREFIX_PATH}"
@@ -21,6 +22,10 @@ else()
endif()
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
if (NB_MONITOR_OPENGL_CALLS)
add_compile_definitions(_NB_MONITOR_OPENGL_CALLS)
endif()
toAbsolutePath(NB_GRAPHICS_SOURCE
./src/Buffers.cpp
./src/FrameBuffers.cpp
@@ -53,29 +58,45 @@ add_library(NBGraphics
${GLAD_PATH}/src/glad.c
)
add_library(NBEngine::Graphics ALIAS NBGraphics)
add_dependencies(NBGraphics NBCore)
add_dependencies(NBGraphics glfw)
target_link_libraries(NBGraphics
PUBLIC glfw
PUBLIC NBCore
)
get_target_property(GLFW_INTERFACE_INCLUDES glfw INTERFACE_INCLUDE_DIRECTORIES)
#include_directories(${GLFW_INTERFACE_INCLUDES})
target_include_directories(NBGraphics
PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
PUBLIC "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
PUBLIC "${STBIMAGE_PATH}"
PUBLIC "${GLAD_PATH}/include"
)
export(
TARGETS NBGraphics
FILE "${CMAKE_BINARY_DIR}/cmake/NBGraphicsTargets.cmake"
NAMESPACE NBEngine::
)
configure_package_config_file(
"NBGraphicsConfig.cmake.in"
"${CMAKE_BINARY_DIR}/cmake/NBGraphicsConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${CMAKE_BINARY_DIR}/cmake/NBGraphicsConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
if (NBENGINE_INSTALL)
message("Installing NBGraphics to ${CMAKE_INSTALL_PREFIX}")
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
install(
TARGETS NBGraphics
TARGETS NBGraphics
EXPORT NBGraphicsTargets
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
)
install(
DIRECTORY "${PROJECT_SOURCE_DIR}/include/NBGraphics"
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/NBGraphics"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)
@@ -84,20 +105,10 @@ if (NBENGINE_INSTALL)
DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
NAMESPACE NBEngine::
)
configure_package_config_file(
"NBGraphicsConfig.cmake.in"
"NBGraphicsConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake
PATH_VARS CMAKE_INSTALL_LIBDIR
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/NBGraphicsConfigVersion.cmake"
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/NBGraphicsConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/NBGraphicsConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake"
"${CMAKE_BINARY_DIR}/cmake/NBGraphicsConfig.cmake"
"${CMAKE_BINARY_DIR}/cmake/NBGraphicsConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_PREFIX}/CMake"
)
endif()