summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2025-07-26 02:00:33 +0800
committerGitHub <noreply@github.com>2025-07-25 18:00:33 +0000
commit9cfdf5de6b867ca7a95b3a74f30471cbe7c87494 (patch)
tree8002ba28c2d0c65f4ade13425efb38f936bd8869
parentc0726e1d571f7f319a244ee6a6ba1ed2c361e079 (diff)
Fix SLANG_USE_SYSTEM_SPIRV_HEADERS=TRUE (#7916)
find_package is locally scoped, so like other find_packages we should do it at the top level Closes https://github.com/shader-slang/slang/issues/7643
-rw-r--r--CMakeLists.txt4
-rw-r--r--external/CMakeLists.txt15
2 files changed, 14 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 685f5a141..9ca1621b4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -404,6 +404,10 @@ if(${SLANG_USE_SYSTEM_UNORDERED_DENSE})
find_package(unordered_dense CONFIG QUIET)
endif()
+if(SLANG_USE_SYSTEM_SPIRV_HEADERS)
+ find_package(SPIRV-Headers REQUIRED)
+endif()
+
add_subdirectory(external)
# webgpu_dawn is only available as a fetched shared library, since Dawn's nested source
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
index 801cae4d6..029966b29 100644
--- a/external/CMakeLists.txt
+++ b/external/CMakeLists.txt
@@ -103,17 +103,22 @@ target_include_directories(
)
# SPIRV-Headers
-if(${SLANG_USE_SYSTEM_SPIRV_HEADERS})
- find_package(SPIRV-Headers REQUIRED)
-elseif(NOT SLANG_OVERRIDE_SPIRV_HEADERS_PATH)
- add_subdirectory(spirv-headers EXCLUDE_FROM_ALL ${system})
-else()
+if(SLANG_USE_SYSTEM_SPIRV_HEADERS)
+ if(SLANG_OVERRIDE_SPIRV_HEADERS_PATH)
+ message(
+ WARNING
+ "SLANG_OVERRIDE_SPIRV_HEADERS_PATH does nothing when SLANG_USE_SPIRV_HEADERS is set"
+ )
+ endif()
+elseif(SLANG_OVERRIDE_SPIRV_HEADERS_PATH)
add_subdirectory(
${SLANG_OVERRIDE_SPIRV_HEADERS_PATH}/spirv-headers
spirv-headers
EXCLUDE_FROM_ALL
${system}
)
+else()
+ add_subdirectory(spirv-headers EXCLUDE_FROM_ALL ${system})
endif()
if(SLANG_ENABLE_SLANG_GLSLANG)