Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions dependencies.cmake
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -12,13 +14,15 @@ 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
GIT_SHALLOW ON
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)
Expand All @@ -29,26 +33,30 @@ 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
GIT_SHALLOW ON
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
GIT_SHALLOW ON
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
Expand All @@ -58,36 +66,42 @@ 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
GIT_SHALLOW ON
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
Expand Down