find_package(OpenGL)
add_subdirectory(${GLFW_PATH} ${GLFW_PATH}/build)

include_directories(${GLFW_PATH}/include ${GLAD_PATH}/include)

set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)

toAbsolutePath(NB_GRAPHICS_SOURCE
    ./src/Buffers.cpp
    ./src/OGLObjects.cpp
    ./src/Textures.cpp
    ./src/VertexArray.cpp
    ./src/Window.cpp
)

toAbsolutePath(NB_GRAPHICS_INCLUDE
    ./Buffers.hpp
    ./Camera.hpp
    ./Draw.hpp
    ./GLLoad.hpp
    ./OGLObjects.hpp
    ./shader.hpp
    ./Textures.hpp
    ./VertexArray.hpp
    ./Window.hpp
)

set(NB_GRAPHICS_SOURCE ${NB_GRAPHICS_SOURCE} PARENT_SCOPE)
set(NB_GRAPHICS_INCLUDE ${NB_GRAPHICS_INCLUDE} PARENT_SCOPE)

add_library(NBGraphics 
    ${NB_GRAPHICS_SOURCE}
    ${GLAD_PATH}/src/glad.c
)
target_link_libraries(NBGraphics glfw)

target_include_directories(NBGraphics PUBLIC ./.)

if (NB_BUILD_TESTS)
    add_subdirectory(./tests)
endif()

