Files

43 lines
997 B
CMake

cmake_minimum_required(VERSION 4.3)
project(VulkanTutorial)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB_RECURSE SOURCE_CODE ./src/**.cpp)
add_executable(${PROJECT_NAME}
${SOURCE_CODE}
)
file(GLOB SHADER_CODE ./shaders/*.spv)
file(COPY ${SHADER_CODE} DESTINATION ${CMAKE_BINARY_DIR})
target_include_directories(${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
)
# 1. 查找 Vulkan
find_package(Vulkan REQUIRED)
if(NOT Vulkan_FOUND)
message(FATAL_ERROR "Vulkan not found!")
endif()
# 设置 GLFW 不构建示例和文档,加快编译
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
add_subdirectory(Libraries/glfw) # GLFW
add_subdirectory(Libraries/glm) # GLM
add_subdirectory(Libraries/spdlog)
# 链接依赖
target_link_libraries(${PROJECT_NAME}
PRIVATE
glfw
Vulkan::Vulkan
spdlog
)