55 lines
1.5 KiB
CMake
55 lines
1.5 KiB
CMake
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)
|