cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR) project(CGI-framework C CXX) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external) find_package(OpenGL REQUIRED) set(IMGUI_DIR external/imgui) set(PROJECT_INCLUDE_DIRS include # scenegraph ${CMAKE_CURRENT_SOURCE_DIR} ${EMBREE_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${GLFW_INCLUDE} ${GLAD_INCLUDE} ${IMGUI_DIR} ${IMGUI_DIR}/backends) set(SOURCES_IMGUI ${IMGUI_DIR}/backends/imgui_impl_glfw.cpp ${IMGUI_DIR}/backends/imgui_impl_opengl3.cpp ${IMGUI_DIR}/imgui.cpp ${IMGUI_DIR}/imgui_draw.cpp ${IMGUI_DIR}/imgui_demo.cpp ${IMGUI_DIR}/imgui_tables.cpp ${IMGUI_DIR}/imgui_widgets.cpp) set(SOURCES_LIGHT lights/light.cpp lights/light.h lights/ambient_light.cpp lights/ambient_light.h lights/directional_light.cpp lights/directional_light.h lights/point_light.cpp lights/point_light.h lights/quad_light.cpp lights/quad_light.h lights/spot_light.cpp lights/spot_light.h ) set(SOURCES ${SOURCES_IMGUI} ${SOURCES_LIGHT} scenegraph/scenegraph.cpp scenegraph/obj_loader.cpp src/application.cpp ) add_library(${PROJECT_NAME} ${SOURCES}) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} PUBLIC glfw OpenGL::GL glad embree)