set(PROJECT_NAME opengl_demo)

find_package(GLFW3 REQUIRED)
find_package(OpenGL REQUIRED)

set(Header_Files
    "${CMAKE_SOURCE_DIR}/external/glad/include/glad/glad.h"
)
source_group("Header_Files" FILES ${Header_Files})

set(Source_Files
    "${CMAKE_SOURCE_DIR}/external/glad/src/glad.c"
    "main.cpp"
)
source_group("Source_Files" FILES ${Source_Files})

add_executable(${PROJECT_NAME} ${Header_Files} ${Source_Files} )
add_dependencies(${PROJECT_NAME} dpLib)

target_include_directories(${PROJECT_NAME} PUBLIC
    "${EXTERNAL_FOLDER}/glm-0.9.9-a2"
    "${EXTERNAL_FOLDER}/glad/include"
    ${glfw3_INCLUDE_DIRS}
    "${EXTERNAL_FOLDER}/stb/include"
)

target_link_libraries(${PROJECT_NAME} PRIVATE 
    dpLib
    OpenGL::GL
)
if(WIN32)
    target_link_libraries(${PROJECT_NAME} PUBLIC 
        glfw
    )
else()
    target_link_libraries(${PROJECT_NAME} PUBLIC 
        libglfw.so
    )
endif(WIN32)



