From 25c17b9fcbf7a21e9fa19c4a8f08b0406437be24 Mon Sep 17 00:00:00 2001 From: Tobias Frisch Date: Fri, 4 Oct 2024 10:34:12 +0200 Subject: Allow building using external dependencies (#5076) * Add options to prevent usage of own submodules Signed-off-by: Jacki * Allow using external unordered dense headers Signed-off-by: Jacki * Link system wide installed unordered dense Signed-off-by: Jacki * Allow external header usage for lz4 and spirv Signed-off-by: Jacki * Add more options to disable targets Signed-off-by: Jacki * Add option to provide explizit path for spirv headers and remove earlier options that break the build process Signed-off-by: Jacki * Rename options to use common prefix Signed-off-by: Jacki * Fix indentation for the cmake changes Signed-off-by: Jacki * Add advanced_option function for cmake * Normalize includes between system and submodule dependencies Fix any before-accidentally-working problems * Add option for enabling/disabling slang-rhi Signed-off-by: Jacki * Pass correct include path for cpu tests * Correct include path --------- Signed-off-by: Jacki Co-authored-by: Ellie Hermaszewska --- source/slang/CMakeLists.txt | 8 ++++++-- source/slang/slang-ir-glsl-legalize.cpp | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'source/slang') diff --git a/source/slang/CMakeLists.txt b/source/slang/CMakeLists.txt index fd20bbe22..78d2376a7 100644 --- a/source/slang/CMakeLists.txt +++ b/source/slang/CMakeLists.txt @@ -152,8 +152,12 @@ target_include_directories( # generated lookup tables # +if (NOT SLANG_USE_SYSTEM_SPIRV_HEADERS) + set(SLANG_SPIRV_HEADERS_INCLUDE_DIR "${slang_SOURCE_DIR}/external/spirv-headers/include") +endif() + set(SLANG_LOOKUP_GENERATOR_INPUT_JSON - "${slang_SOURCE_DIR}/external/spirv-headers/include/spirv/unified1/extinst.glsl.std.450.grammar.json" + "${SLANG_SPIRV_HEADERS_INCLUDE_DIR}/spirv/unified1/extinst.glsl.std.450.grammar.json" ) set(SLANG_LOOKUP_GENERATOR_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/slang-lookup-tables/" @@ -179,7 +183,7 @@ add_custom_command( ) set(SLANG_SPIRV_CORE_SOURCE_JSON - "${slang_SOURCE_DIR}/external/spirv-headers/include/spirv/unified1/spirv.core.grammar.json" + "${SLANG_SPIRV_HEADERS_INCLUDE_DIR}/spirv/unified1/spirv.core.grammar.json" ) set(SLANG_SPIRV_CORE_GRAMMAR_SOURCE "${SLANG_LOOKUP_GENERATOR_OUTPUT_DIR}/slang-spirv-core-grammar-embed.cpp" diff --git a/source/slang/slang-ir-glsl-legalize.cpp b/source/slang/slang-ir-glsl-legalize.cpp index 2d7e0c804..4f19d45a2 100644 --- a/source/slang/slang-ir-glsl-legalize.cpp +++ b/source/slang/slang-ir-glsl-legalize.cpp @@ -11,7 +11,12 @@ #include "slang-ir-clone.h" #include "slang-ir-single-return.h" #include "slang-glsl-extension-tracker.h" + +#ifdef SLANG_USE_SYSTEM_SPIRV_HEADER +#include +#else #include "../../external/spirv-headers/include/spirv/unified1/spirv.h" +#endif namespace Slang { -- cgit v1.2.3