-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
37 lines (25 loc) · 895 Bytes
/
Copy pathCMakeLists.txt
File metadata and controls
37 lines (25 loc) · 895 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
cmake_minimum_required(VERSION 3.15)
project(learning-vulkan VERSION 0.0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(cmake/slang.cmake)
set(SOURCE_FILES
src/main.cpp
)
set(SHADER_SLANG_SOURCES
shaders/shader.slang
)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
find_package(Vulkan REQUIRED)
if (APPLE)
find_package(slang CONFIG HINTS "$ENV{VULKAN_SDK}/macOS/lib/cmake")
else()
find_package(slang CONFIG HINTS "$ENV{VULKAN_SDK}/lib/cmake")
endif()
add_subdirectory(external/glfw)
add_subdirectory(external/glm)
add_subdirectory(external/Vulkan-Hpp)
target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Vulkan Vulkan::Hpp glfw glm::glm)
message("SHADER_SLANG_SOURCES: " ${SHADER_SLANG_SOURCES})
add_slang_shader_target(shaders SOURCES ${SHADER_SLANG_SOURCES} OUTPUT shaders/slang.spv)
add_dependencies(${PROJECT_NAME} shaders)