mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-05 20:30:05 +00:00
82 lines
1.9 KiB
CMake
82 lines
1.9 KiB
CMake
if(VMA_BUILD_EXAMPLE_APP_SHADERS)
|
|
add_subdirectory(Shaders)
|
|
endif()
|
|
|
|
if(VMA_BUILD_REPLAY_APP)
|
|
add_subdirectory(VmaReplay)
|
|
endif()
|
|
|
|
set(VMA_LIBRARY_SOURCE_FILES
|
|
VmaUsage.cpp
|
|
)
|
|
|
|
add_library(VulkanMemoryAllocator ${VMA_LIBRARY_SOURCE_FILES})
|
|
|
|
set_target_properties(
|
|
VulkanMemoryAllocator PROPERTIES
|
|
|
|
CXX_EXTENSIONS OFF
|
|
# Use C++14
|
|
CXX_STANDARD 14
|
|
CXX_STANDARD_REQUIRED ON
|
|
)
|
|
|
|
target_include_directories(VulkanMemoryAllocator PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
|
|
|
target_link_libraries(
|
|
VulkanMemoryAllocator
|
|
|
|
PUBLIC
|
|
Vulkan::Vulkan
|
|
)
|
|
|
|
set(VMA_EXAMPLE_SOURCE_FILES
|
|
Common.cpp
|
|
SparseBindingTest.cpp
|
|
Tests.cpp
|
|
VulkanSample.cpp
|
|
)
|
|
|
|
if (VMA_BUILD_EXAMPLE_APP)
|
|
if(WIN32)
|
|
add_executable(VmaExample ${VMA_EXAMPLE_SOURCE_FILES})
|
|
|
|
# Visual Studio specific settings
|
|
if(${CMAKE_GENERATOR} MATCHES "Visual Studio.*")
|
|
# Use Unicode instead of multibyte set
|
|
add_definitions(-DUNICODE -D_UNICODE)
|
|
|
|
# Set VmaExample as startup project
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT "VmaExample")
|
|
|
|
# Enable multithreaded compiling
|
|
target_compile_options(VmaExample PRIVATE "/MP")
|
|
|
|
# Set working directory for Visual Studio debugger
|
|
set_target_properties(
|
|
VmaExample
|
|
PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/bin"
|
|
)
|
|
endif()
|
|
|
|
set_target_properties(
|
|
VmaExample PROPERTIES
|
|
|
|
CXX_EXTENSIONS OFF
|
|
# Use C++14
|
|
CXX_STANDARD 14
|
|
CXX_STANDARD_REQUIRED ON
|
|
)
|
|
|
|
target_link_libraries(
|
|
VmaExample
|
|
|
|
PRIVATE
|
|
VulkanMemoryAllocator
|
|
Vulkan::Vulkan
|
|
)
|
|
else()
|
|
message(STATUS "VmaExample application is not supported to Linux")
|
|
endif()
|
|
endif()
|