mirror of
https://github.com/charles-lunarg/vk-bootstrap.git
synced 2024-11-10 02:41:47 +00:00
a4ab8e099d
SystemInfo will be the way for users to know what is and isn't available on their system. Currently, it only has booleans for if validation layers and debug messenger are available, but more could be added in the future.
41 lines
1.4 KiB
CMake
41 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
|
|
project(VulkanBootstrap)
|
|
|
|
find_package(Vulkan REQUIRED)
|
|
|
|
add_library(vk-bootstrap src/VkBootstrap.h src/VkBootstrap.cpp)
|
|
|
|
target_include_directories(vk-bootstrap PUBLIC src)
|
|
|
|
target_include_directories(vk-bootstrap PUBLIC ${Vulkan_INCLUDE_DIR})
|
|
target_link_libraries(vk-bootstrap PUBLIC ${Vulkan_LIBRARY})
|
|
|
|
target_compile_features(vk-bootstrap PUBLIC cxx_std_11)
|
|
|
|
option(VK_BOOTSTRAP_TEST "Test Vk-Bootstrap with glfw and Catch2" OFF)
|
|
|
|
if (VK_BOOTSTRAP_TEST)
|
|
|
|
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
|
set(GLFW_INSTALL OFF CACHE BOOL "" FORCE)
|
|
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
add_subdirectory(ext/glfw)
|
|
add_subdirectory(ext/Catch2)
|
|
|
|
add_executable(vk-bootstrap-test tests/run_tests.cpp)
|
|
|
|
target_link_libraries(vk-bootstrap-test vk-bootstrap)
|
|
target_link_libraries(vk-bootstrap-test glfw)
|
|
target_link_libraries(vk-bootstrap-test Catch2)
|
|
|
|
add_executable(vk-bootstrap-triangle example/triangle.cpp)
|
|
target_link_libraries(vk-bootstrap-triangle vk-bootstrap)
|
|
target_link_libraries(vk-bootstrap-triangle glfw)
|
|
|
|
add_custom_command(
|
|
TARGET vk-bootstrap-triangle POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/example/shaders ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
endif() |