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

add_subdirectory(src/vendor/glad)
add_subdirectory(src/vendor/glfw-3.3.8)

set(paradiso_srcs
    src/bitmap_io.cpp
    src/shader.cpp
    src/window.cpp
    src/renderer.cpp
    src/context.cpp
    src/shader_sprite.hpp
    )

set(paradiso_incs
    include/paradiso/aabb.hpp
    include/paradiso/bitmap.hpp
    include/paradiso/bitmap_io.hpp
    include/paradiso/geometry.hpp
    include/paradiso/sprite.hpp
    include/paradiso/shader.hpp
    include/paradiso/window.hpp
    include/paradiso/renderer.hpp
    include/paradiso/context.hpp
    )

add_library(paradiso_core
    ${paradiso_incs}
    ${paradiso_srcs}
    )

target_include_directories(
    paradiso_core
    PUBLIC
    include
    PRIVATE 
    src/vendor/stb
)

target_link_libraries(
    paradiso_core
    PRIVATE
    glfw
    glad
    )