|
@@ -5,6 +5,7 @@ package("slang")
|
|
|
|
|
|
add_urls("https://github.com/shader-slang/slang.git")
|
|
|
|
|
|
+ add_versions("v2025.11.0", "ee51fe592747fc66bd0b5757207583198068b5bd")
|
|
|
add_versions("v2025.6.3", "b9300bae08a77df6ef2efe2b62de14a13b10b9a4")
|
|
|
add_versions("v2024.1.18", "efdbb954c57b89362e390f955d45f90e59d66878")
|
|
|
add_versions("v2024.1.17", "62b7219e715bd4c0f984bcd98c9767fb6422c78f")
|
|
@@ -21,10 +22,11 @@ package("slang")
|
|
|
add_configs("slang_llvm_flavor", { description = "How to get or build slang-llvm (available options: FETCH_BINARY, USE_SYSTEM_LLVM, DISABLE)", default = "DISABLE", type = "string" })
|
|
|
|
|
|
add_deps("cmake")
|
|
|
+ add_deps("miniz")
|
|
|
|
|
|
on_install("windows|x64", "macosx", "linux|x86_64", function (package)
|
|
|
io.replace("cmake/SlangTarget.cmake", [[set_property(TARGET ${target} PROPERTY SUFFIX ".dylib")]], "", {plain = true})
|
|
|
- local configs = {"-DSLANG_ENABLE_TESTS=OFF", "-DSLANG_ENABLE_EXAMPLES=OFF"}
|
|
|
+ local configs = {"-DSLANG_ENABLE_TESTS=OFF", "-DSLANG_ENABLE_EXAMPLES=OFF", "-DSLANG_USE_SYSTEM_MINIZ=ON"}
|
|
|
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
|
|
|
table.insert(configs, "-DSLANG_LIB_TYPE=" .. (package:config("shared") and "SHARED" or "STATIC"))
|
|
|
table.insert(configs, "-DSLANG_EMBED_STDLIB_SOURCE=" .. (package:config("embed_stdlib_source") and "ON" or "OFF"))
|
|
@@ -38,6 +40,12 @@ package("slang")
|
|
|
table.insert(configs, "-DSLANG_ENABLE_SLANG_GLSLANG=" .. (package:config("slang_glslang") and "ON" or "OFF"))
|
|
|
table.insert(configs, "-DSLANG_SLANG_LLVM_FLAVOR=" .. package:config("slang_llvm_flavor"))
|
|
|
|
|
|
+ io.replace("CMakeLists.txt", [[find_package(Threads REQUIRED)]], [[find_package(Threads REQUIRED)
|
|
|
+find_package(miniz CONFIG REQUIRED)
|
|
|
+add_library(miniz ALIAS miniz::miniz)
|
|
|
+get_target_property(MINIZ_INCLUDE_DIRS miniz::miniz INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
+include_directories(MINIZ_INCLUDE_DIRS)]], {plain = true})
|
|
|
+
|
|
|
import("package.tools.cmake").install(package, configs)
|
|
|
package:addenv("PATH", "bin")
|
|
|
end)
|