43 lines
997 B
CMake
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
|
|
)
|