cmake_minimum_required(VERSION 3.22)
project(Lab2)

set(CMAKE_CXX_STANDARD 11)

find_package(glfw3 3.3 REQUIRED)
find_package(GLEW REQUIRED)
find_package(OpenGL REQUIRED)
find_package(glm REQUIRED)

set(LIBS glfw GLEW::GLEW OpenGL::GL)

set(CORE_SOURCES
        src/main.cpp
        src/window/Camera.cpp
        src/window/Camera.h
        src/window/Window.cpp
        src/window/Window.h
        src/window/Events.cpp
        src/window/Events.h
        src/graphics/Mesh.h
        src/graphics/Mesh.cpp
        src/graphics/Shader.h
        src/graphics/Shader.cpp
        src/graphics/MeshLoader.cpp
        src/graphics/MeshLoader.h
        src/render/render.h)

add_executable(${PROJECT_NAME}_main ${CORE_SOURCES} src/render/render.cpp)
target_link_libraries(${PROJECT_NAME}_main ${LIBS})

add_executable(${PROJECT_NAME}_1 ${CORE_SOURCES} src/render/render-1.cpp)
target_link_libraries(${PROJECT_NAME}_1 ${LIBS})

add_executable(${PROJECT_NAME}_2 ${CORE_SOURCES} src/render/render-2.cpp)
target_link_libraries(${PROJECT_NAME}_2 ${LIBS})

add_executable(${PROJECT_NAME}_3 ${CORE_SOURCES} src/render/render-3.cpp)
target_link_libraries(${PROJECT_NAME}_3 ${LIBS})

add_executable(${PROJECT_NAME}_4 ${CORE_SOURCES} src/render/render-4.cpp)
target_link_libraries(${PROJECT_NAME}_4 ${LIBS})

add_executable(${PROJECT_NAME}_5 ${CORE_SOURCES} src/render/render-5.cpp)
target_link_libraries(${PROJECT_NAME}_5 ${LIBS})

add_executable(${PROJECT_NAME}_6 ${CORE_SOURCES} src/render/render-6.cpp)
target_link_libraries(${PROJECT_NAME}_6 ${LIBS})

add_executable(${PROJECT_NAME}_7 ${CORE_SOURCES} src/render/render-7.cpp)
target_link_libraries(${PROJECT_NAME}_7 ${LIBS})

add_executable(${PROJECT_NAME}_8 ${CORE_SOURCES} src/render/render-8.cpp)
target_link_libraries(${PROJECT_NAME}_8 ${LIBS})

add_executable(${PROJECT_NAME}_9 ${CORE_SOURCES} src/render/render-9.cpp)
target_link_libraries(${PROJECT_NAME}_9 ${LIBS})

add_executable(${PROJECT_NAME}_10 ${CORE_SOURCES} src/render/render-10.cpp)
target_link_libraries(${PROJECT_NAME}_10 ${LIBS})
