quark/CMakeLists.txt
2025-01-07 21:14:59 +01:00

35 lines
888 B
CMake

cmake_minimum_required(VERSION 3.24)
project(quark)
set(CMAKE_CXX_STANDARD 20)
include(FetchContent)
set(SPDLOG_BUILD_SHARED ON CACHE INTERNAL "")
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog
GIT_TAG 8e5613379f5140fefb0b60412fbf1f5406e7c7f8
FIND_PACKAGE_ARGS
)
set(GLFW_LIBRARY_TYPE "SHARED" CACHE INTERNAL "")
FetchContent_Declare(
glfw3
GIT_REPOSITORY https://github.com/glfw/glfw
GIT_TAG 21fea01161e0d6b70c0c5c1f52dc8e7a7df14a50
FIND_PACKAGE_ARGS
)
# TODO: compile with all rendering backends and select one at runtime
set(QUARK_RENDERING_BACKEND "OPENGL" CACHE STRING "Rendering backend to use during engine compilation")
set_property(CACHE QUARK_RENDERING_BACKEND PROPERTY STRINGS OPENGL VULKAN)
if (${QUARK_RENDERING_BACKEND} STREQUAL "VULKAN")
find_package(Vulkan REQUIRED)
endif()
add_subdirectory(quark)
add_subdirectory(sandbox)