-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
46 lines (37 loc) · 964 Bytes
/
CMakeLists.txt
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
38
39
40
41
42
43
44
45
46
cmake_minimum_required(VERSION 3.25)
project(ShlibVK C)
option(BUILD_EXAMPLES "Build all example projects" ON)
add_subdirectory(libs/glfw)
find_package(Vulkan COMPONENTS MoltenVK)
set(CMAKE_C_STANDARD 23)
set(SHLIBVK_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(SOURCES
src/Window.c
src/Graphics.c
src/Utils.c
src/Pipeline.c
src/Mesh.c
src/Buffer.c
src/UniformBuffer.c
src/Texture.c
src/StorageBuffer.c
src/Math/Matrix.c
src/Math/Vec2.c
src/Math/Vec3.c
src/Math/Vec4.c
src/Utilities/List.c
)
set(INCLUDES
include/
${Vulkan_INCLUDE_DIRS}
)
set(LIBS
glfw
${Vulkan_LIBRARIES}
)
add_library(${PROJECT_NAME} ${SOURCES})
target_include_directories(${PROJECT_NAME} PRIVATE ${INCLUDES})
target_link_libraries(${PROJECT_NAME} ${LIBS})
if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()