Files
Towards/cmake/Dependencies.cmake
T
Martin Slachta a04f0dc262 initial
2026-07-18 14:31:15 +02:00

75 lines
2.0 KiB
CMake

set(EXPECTED_BUILD_TESTS OFF CACHE BOOL "Disable tl::expected tests" FORCE)
set(BUILD_EXAMPLES OFF CACHE BOOL "Disable dependency examples" FORCE)
set(LFT_ENABLE_EXAMPLES OFF CACHE BOOL "Disable loft examples" FORCE)
set(FASTNOISE2_NOISETOOL OFF CACHE BOOL "Disable FastNoise2 graph tool" FORCE)
find_package(Vulkan REQUIRED)
find_package(SDL2 REQUIRED)
find_package(Protobuf CONFIG REQUIRED)
include(FetchContent)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release;Distribution")
FetchContent_Declare(
glm
GIT_REPOSITORY https://github.com/g-truc/glm
GIT_TAG 1.0.1
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/glm/
GIT_SHALLOW TRUE
)
FetchContent_Declare(
entt
GIT_REPOSITORY https://github.com/skypjack/entt
GIT_TAG v3.15.0
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/entt
GIT_SHALLOW TRUE
)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.10.0
FIND_PACKAGE_ARGS
)
FetchContent_Declare(
JoltPhysics
GIT_REPOSITORY https://github.com/jrouwe/JoltPhysics
GIT_TAG v5.4.0
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/jolt/
SOURCE_SUBDIR Build
)
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog
GIT_TAG v1.16.0
GIT_SHALLOW TRUE
)
FetchContent_Declare(
expected
GIT_REPOSITORY https://github.com/TartanLlama/expected
GIT_SHALLOW TRUE
)
FetchContent_Declare(
tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy.git
GIT_TAG master
GIT_SHALLOW TRUE
)
# FetchContent_Declare(
# Quadtree
# GIT_REPOSITORY https://github.com/pvigier/Quadtree.git
# GIT_SHALLOW TRUE
# )
FetchContent_MakeAvailable(glm entt Catch2 JoltPhysics spdlog expected tracy)
add_subdirectory(${CMAKE_SOURCE_DIR}/external/loft)
add_subdirectory(${CMAKE_SOURCE_DIR}/external/imgui)
add_subdirectory(${CMAKE_SOURCE_DIR}/external/implot)