1cmake_minimum_required(VERSION 3.19)
2project("vulkan-shaders-gen" C CXX)
3
4find_package (Threads REQUIRED)
5
6if (GGML_VULKAN_COOPMAT_GLSLC_SUPPORT)
7 add_compile_definitions(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT)
8 message(STATUS "Enabling coopmat glslc support")
9endif()
10if (GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT)
11 add_compile_definitions(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT)
12 message(STATUS "Enabling coopmat2 glslc support")
13endif()
14if (GGML_VULKAN_INTEGER_DOT_GLSLC_SUPPORT)
15 add_compile_definitions(GGML_VULKAN_INTEGER_DOT_GLSLC_SUPPORT)
16 message(STATUS "Enabling dot glslc support")
17endif()
18if (GGML_VULKAN_BFLOAT16_GLSLC_SUPPORT)
19 add_compile_definitions(GGML_VULKAN_BFLOAT16_GLSLC_SUPPORT)
20 message(STATUS "Enabling bfloat16 glslc support")
21endif()
22if (GGML_VULKAN_SHADER_DEBUG_INFO)
23 add_compile_definitions(GGML_VULKAN_SHADER_DEBUG_INFO)
24 message(STATUS "Enabling shader debug info")
25endif()
26
27set(TARGET vulkan-shaders-gen)
28add_executable(${TARGET} vulkan-shaders-gen.cpp)
29install(TARGETS ${TARGET} RUNTIME)
30target_compile_features(${TARGET} PRIVATE cxx_std_17)
31target_link_libraries(vulkan-shaders-gen PUBLIC Threads::Threads)