diff --git a/config/lib/VulkanMemoryAllocator.cmake b/config/lib/VulkanMemoryAllocator.cmake index 3d5b0937dfcfa27d783a74384c8cc4f28e7fa102..6dc61dd1722fefecc204fa67f42f76cc32fd858f 100644 --- a/config/lib/VulkanMemoryAllocator.cmake +++ b/config/lib/VulkanMemoryAllocator.cmake @@ -13,8 +13,17 @@ if (${vma_hpp_status}) set(VMA_RECORDING_ENABLED OFF CACHE INTERNAL "") set(VMA_USE_STL_CONTAINERS OFF CACHE INTERNAL "") - set(VMA_STATIC_VULKAN_FUNCTIONS ON CACHE INTERNAL "") - set(VMA_DYNAMIC_VULKAN_FUNCTIONS OFF CACHE INTERNAL "") + + string(COMPARE EQUAL "${vkcv_build_attribute}" "SHARED" VMA_USE_DYNAMIC_LINKING) + + if (${VMA_USE_DYNAMIC_LINKING}) + set(VMA_STATIC_VULKAN_FUNCTIONS OFF CACHE INTERNAL "") + set(VMA_DYNAMIC_VULKAN_FUNCTIONS ON CACHE INTERNAL "") + else() + set(VMA_STATIC_VULKAN_FUNCTIONS ON CACHE INTERNAL "") + set(VMA_DYNAMIC_VULKAN_FUNCTIONS OFF CACHE INTERNAL "") + endif() + set(VMA_DEBUG_ALWAYS_DEDICATED_MEMORY OFF CACHE INTERNAL "") set(VMA_DEBUG_INITIALIZE_ALLOCATIONS OFF CACHE INTERNAL "") set(VMA_DEBUG_GLOBAL_MUTEX OFF CACHE INTERNAL "") diff --git a/config/lib/vma/CMakeLists.txt b/config/lib/vma/CMakeLists.txt index a656c6f5f20e296286df2b34ecf4b511a5340640..8b177fdcb8eb2c3cb71d5142fe13ceb79b4cb36f 100644 --- a/config/lib/vma/CMakeLists.txt +++ b/config/lib/vma/CMakeLists.txt @@ -30,7 +30,11 @@ message(STATUS "VMA_DEBUG_INITIALIZE_ALLOCATIONS = ${VMA_DEBUG_INITIALIZE_ALLOCA message(STATUS "VMA_DEBUG_GLOBAL_MUTEX = ${VMA_DEBUG_GLOBAL_MUTEX}") message(STATUS "VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT = ${VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT}") -add_library(VulkanMemoryAllocator vma.cpp) +if (${VMA_STATIC_VULKAN_FUNCTIONS}) + add_library(VulkanMemoryAllocator STATIC vma.cpp) +else() + add_library(VulkanMemoryAllocator SHARED vma.cpp) +endif() set_target_properties( VulkanMemoryAllocator PROPERTIES