Skip to content
Snippets Groups Projects
Verified Commit cb72b64c authored by Tobias Frisch's avatar Tobias Frisch
Browse files

Add basic cmake configuration for slang

parent 7db9d7c4
No related branches found
No related tags found
1 merge request!115Resolve "Slang Compiler"
......@@ -53,6 +53,9 @@ include(config/GLSLANG.cmake)
include(config/Murmur3.cmake)
include(config/Shady.cmake)
# Check and load SLANG
include(config/SLANG.cmake)
# link the required libraries to the module
target_link_libraries(vkcv_shader_compiler ${vkcv_shader_compiler_libraries} vkcv)
......
use_git_submodule("${vkcv_shader_compiler_lib_path}/slang" slang_status)
if (${slang_status})
add_subdirectory(config/slang)
list(APPEND vkcv_shader_compiler_libraries slang)
list(APPEND vkcv_shader_compiler_includes ${vkcv_shader_compiler_lib})
endif ()
cmake_minimum_required(VERSION 3.9)
project(slang)
# settings c++ standard for slang
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Vulkan REQUIRED)
set(slang_base external/source/base)
set(slang_dir ../../${vkcv_shader_compiler_lib}/slang)
set(slang_source ${slang_dir}/source)
set(slang_source_compiler_core ${slang_source}/compiler-core)
set(slang_source_core ${slang_source}/core)
set(slang_source_slang ${slang_source}/slang)
file(GLOB slang_sources
${slang_source_compiler_core}/*.cpp
${slang_source_core}/*.cpp
${slang_source_slang}/*.cpp
)
if (${VMA_STATIC_VULKAN_FUNCTIONS})
add_library(slang STATIC ${slang_sources})
else()
add_library(slang SHARED ${slang_sources})
endif()
set_target_properties(
slang PROPERTIES
CXX_EXTENSIONS OFF
CXX_STANDARD ${CMAKE_CXX_STANDARD}
CXX_STANDARD_REQUIRED ON
)
target_include_directories(slang PUBLIC ${slang_base} ${slang_source})
# Only link to Vulkan if static linking is used
if (NOT ${VMA_DYNAMIC_VULKAN_FUNCTIONS})
target_link_libraries(slang PUBLIC Vulkan::Vulkan)
endif()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment