diff --git a/dependencies.cmake b/dependencies.cmake index 5eeed5c49..73c96dade 100644 --- a/dependencies.cmake +++ b/dependencies.cmake @@ -1,9 +1,11 @@ # Download dependencies by using FetchContent_Declare # Use FetchContent_MakeAvailable only in those code parts where the dependency is actually needed +# Please keep the dependencies in alphabetical order include(FetchContent) set(FETCHCONTENT_QUIET OFF) +# Benchmarking library for inexor-vulkan-renderer-benchmarks set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable Google Benchmark tests" FORCE) FetchContent_Declare(benchmark GIT_REPOSITORY https://github.com/google/benchmark @@ -12,6 +14,7 @@ FetchContent_Declare(benchmark GIT_PROGRESS ON FIND_PACKAGE_ARGS 1.8.5) +# Formatting library FetchContent_Declare(fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 11.0.1 @@ -19,6 +22,7 @@ FetchContent_Declare(fmt GIT_PROGRESS ON FIND_PACKAGE_ARGS 11.0.1) +# Window management for Linux and Microsoft Windows set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) @@ -29,12 +33,14 @@ FetchContent_Declare(glfw GIT_PROGRESS ON FIND_PACKAGE_ARGS 3.4) +# Mathematics library for computer graphics FetchContent_Declare(glm GIT_REPOSITORY https://github.com/g-truc/glm.git GIT_TAG 1.0.1 GIT_SHALLOW ON GIT_PROGRESS ON) +# Unit testing library for inexor-vulkan-renderer-tests FetchContent_Declare(gtest GIT_REPOSITORY https://github.com/google/googletest GIT_TAG v1.15.0 @@ -42,6 +48,7 @@ FetchContent_Declare(gtest GIT_PROGRESS ON FIND_PACKAGE_ARGS 1.15.0) +# Graphical user interface rendering library FetchContent_Declare(imgui GIT_REPOSITORY https://github.com/ocornut/imgui.git GIT_TAG v1.90.9 @@ -49,6 +56,7 @@ FetchContent_Declare(imgui GIT_PROGRESS ON FIND_PACKAGE_ARGS 1.90.9) +# Console logging and logfile library set(SPDLOG_USE_STD_FORMAT ON CACHE BOOL "" FORCE) set(SPDLOG_FMT_EXTERNAL OFF CACHE BOOL "" FORCE) FetchContent_Declare(spdlog @@ -58,17 +66,20 @@ FetchContent_Declare(spdlog GIT_PROGRESS ON FIND_PACKAGE_ARGS 1.15.3) +# Required for loading textures in various formats FetchContent_Declare(stb GIT_REPOSITORY https://github.com/nothings/stb.git GIT_TAG f7f20f39fe4f206c6f19e26ebfef7b261ee59ee4 GIT_PROGRESS ON) +# Loader for models in glTF2 format FetchContent_Declare(tinygltf GIT_REPOSITORY https://github.com/syoyo/tinygltf.git GIT_TAG v2.9.2 GIT_PROGRESS ON FIND_PACKAGE_ARGS 2.9.2) +# Library for TOML configuration files FetchContent_Declare(toml GIT_REPOSITORY https://github.com/ToruNiina/toml11.git GIT_TAG v4.0.3 @@ -76,18 +87,21 @@ FetchContent_Declare(toml GIT_PROGRESS ON FIND_PACKAGE_ARGS 4.0.3) +# Vulkan Memory Allocator library FetchContent_Declare(vma GIT_REPOSITORY https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git GIT_TAG v3.1.0 GIT_PROGRESS ON FIND_PACKAGE_ARGS 3.1.0) +# Meta-loader for the Vulkan API that dynamically loads function pointers at runtime, avoiding the need for static linking FetchContent_Declare(volk GIT_REPOSITORY https://github.com/zeux/volk GIT_TAG 1.3.270 GIT_PROGRESS ON FIND_PACKAGE_ARGS 1.3.270) +# The Vulkan API headers FetchContent_Declare(Vulkan GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Headers GIT_TAG v1.3.283