59 lines
1.4 KiB
CMake
59 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.24)
|
|
|
|
project(
|
|
Fall-Fever
|
|
VERSION 0.1.0
|
|
DESCRIPTION "A fruit collecting game."
|
|
LANGUAGES C CXX
|
|
)
|
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
|
|
find_package(EnTT CONFIG REQUIRED)
|
|
find_package(glm CONFIG REQUIRED)
|
|
find_package(nlohmann_json CONFIG REQUIRED)
|
|
find_package(glfw3 REQUIRED)
|
|
find_package(spdlog REQUIRED)
|
|
find_package(fx-gltf REQUIRED)
|
|
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/lib)
|
|
|
|
add_library(fever_core
|
|
src/components/transform.cpp
|
|
src/core/application.cpp
|
|
src/core/camera.cpp
|
|
src/core/glad.cpp
|
|
src/core/graphics/framebuffer.cpp
|
|
src/core/graphics/image.cpp
|
|
src/core/graphics/material.cpp
|
|
src/core/graphics/mesh.cpp
|
|
src/core/light.cpp
|
|
src/core/render.cpp
|
|
src/core/shader.cpp
|
|
src/core/time.cpp
|
|
src/input/input.cpp
|
|
src/scene/gltf.cpp
|
|
src/scene/gltf_loader.cpp
|
|
src/util/log.cpp
|
|
src/window/window.cpp
|
|
)
|
|
|
|
target_compile_features(fever_core PUBLIC cxx_std_20)
|
|
target_include_directories(fever_core PUBLIC ${CMAKE_SOURCE_DIR}/src)
|
|
|
|
target_link_libraries(
|
|
fever_core PUBLIC
|
|
glad
|
|
stb
|
|
glfw
|
|
EnTT::EnTT
|
|
spdlog::spdlog
|
|
glm::glm
|
|
fx-gltf::fx-gltf
|
|
nlohmann_json::nlohmann_json
|
|
)
|
|
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/apps)
|