Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,16 @@ advanced_option(
"Build using system unordered dense"
OFF
)
advanced_option(
SLANG_USE_SYSTEM_SPIRV_TOOLS
"Build using system SPIR-V tools library"
OFF
)
advanced_option(
SLANG_USE_SYSTEM_GLSLANG
"Build using system glslang library"
OFF
)

option(
SLANG_SPIRV_HEADERS_INCLUDE_DIR
Expand Down Expand Up @@ -408,6 +418,29 @@ if(SLANG_USE_SYSTEM_SPIRV_HEADERS)
find_package(SPIRV-Headers REQUIRED)
endif()

if(${SLANG_USE_SYSTEM_MINIZ})
find_package(miniz REQUIRED)
add_library(miniz ALIAS miniz::miniz)
endif()

if(${SLANG_USE_SYSTEM_LZ4})
find_package(lz4 REQUIRED)
add_library(lz4_static ALIAS LZ4::lz4)
endif()

if(${SLANG_USE_SYSTEM_VULKAN_HEADERS})
find_package(VulkanHeaders REQUIRED)
endif()

if(${SLANG_USE_SYSTEM_SPIRV_TOOLS})
find_package(SPIRV-Tools REQUIRED)
endif()

if(${SLANG_USE_SYSTEM_GLSLANG})
Comment thread
jkwak-work marked this conversation as resolved.
find_package(glslang REQUIRED)
add_library(glslang ALIAS glslang::glslang)
endif()

add_subdirectory(external)

# webgpu_dawn is only available as a fetched shared library, since Dawn's nested source
Expand Down
59 changes: 32 additions & 27 deletions external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,35 +142,40 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
)
endif()

# SPIRV-Tools
set(SPIRV_TOOLS_BUILD_STATIC ON)
set(SPIRV_WERROR OFF)
set(SPIRV_SKIP_TESTS ON)
# Tools
if(NOT SLANG_OVERRIDE_SPIRV_TOOLS_PATH)
add_subdirectory(spirv-tools EXCLUDE_FROM_ALL ${system})
else()
add_subdirectory(
${SLANG_OVERRIDE_SPIRV_TOOLS_PATH}/spirv-tools
spirv-tools
EXCLUDE_FROM_ALL
${system}
)
if(NOT ${SLANG_USE_SYSTEM_SPIRV_TOOLS})
# SPIRV-Tools
set(SPIRV_TOOLS_BUILD_STATIC ON)
set(SPIRV_WERROR OFF)
set(SPIRV_SKIP_TESTS ON)
# Tools
if(NOT SLANG_OVERRIDE_SPIRV_TOOLS_PATH)
add_subdirectory(spirv-tools EXCLUDE_FROM_ALL ${system})
else()
add_subdirectory(
${SLANG_OVERRIDE_SPIRV_TOOLS_PATH}/spirv-tools
spirv-tools
EXCLUDE_FROM_ALL
${system}
)
endif()
endif()

# glslang
set(SKIP_GLSLANG_INSTALL ON)
set(ENABLE_OPT ON)
set(ENABLE_PCH OFF)
if(NOT SLANG_OVERRIDE_GLSLANG_PATH)
add_subdirectory(glslang EXCLUDE_FROM_ALL ${system})
else()
add_subdirectory(
${SLANG_OVERRIDE_GLSLANG_PATH}/glslang
glslang
EXCLUDE_FROM_ALL
${system}
)
if(NOT ${SLANG_USE_SYSTEM_GLSLANG})
# glslang
set(SKIP_GLSLANG_INSTALL ON)
set(ENABLE_OPT ON)
set(ENABLE_PCH OFF)
set(ALLOW_EXTERNAL_SPIRV_TOOLS ${SLANG_USE_SYSTEM_SPIRV_TOOLS})
if(NOT SLANG_OVERRIDE_GLSLANG_PATH)
add_subdirectory(glslang EXCLUDE_FROM_ALL ${system})
else()
add_subdirectory(
${SLANG_OVERRIDE_GLSLANG_PATH}/glslang
glslang
EXCLUDE_FROM_ALL
${system}
)
endif()
endif()
endif()

Expand Down
Loading