cmake_minimum_required(VERSION 3.10)

project(gline C)

set(OpenGL_GL_PREFERENCE "GLVND")
find_package(GLEW REQUIRED)
find_package(OpenGL REQUIRED)
find_package(GLU REQUIRED)

set(GLEW_INCLUDE_PATH "" CACHE PATH "/usr/include/GL")
set(GLFW_INCLUDE_PATH "" CACHE PATH "/usr/include/GLFW")

set(gline_HEADERS
    src/gline.h
    src/shader.h
    src/linmath.h
)

set(gline_SOURCES
    src/gline.c
    src/shader.c
)

add_executable(
    ${PROJECT_NAME}
    ${gline_HEADERS}
    ${gline_SOURCES}
)

target_include_directories(${PROJECT_NAME} PRIVATE ${GLFW_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENGL_LIBRARIES}
    ${GLU_LIBRARIES} GLEW::GLEW glfw m)

set(CMAKE_BUILD_TYPE Debug)

install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)