Pārlūkot izejas kodu

luisa-compute: support linux (#8558)

* luisa-compute: support linux

* fix uuid
star9029 1 mēnesi atpakaļ
vecāks
revīzija
04aefd6f72
1 mainītis faili ar 11 papildinājumiem un 4 dzēšanām
  1. 11 4
      packages/l/luisa-compute/xmake.lua

+ 11 - 4
packages/l/luisa-compute/xmake.lua

@@ -25,7 +25,7 @@ package("luisa-compute")
     set_license("Apache-2.0")
 
     add_urls("https://github.com/LuisaGroup/LuisaCompute.git", {submodules = false})
-    add_versions("2025.09.19", "5a1cbcc861ba413e6243e70e19bb188f3388302d")
+    add_versions("2025.11.05", "f363db428873120924880e28d3a284202edb237a")
 
     add_configs("cuda", {description = "Enable CUDA backend", default = false, type = "boolean"})
     add_configs("vulkan", {description = "Enable Vulkan backend", default = false, type = "boolean"})
@@ -61,9 +61,16 @@ package("luisa-compute")
         add_defines("LUISA_PLATFORM_UNIX=1")
     end
 
+    if is_plat("linux") then
+        add_links("luisa-xir", "luisa-dsl", "luisa-runtime", "luisa-ast", "luisa-osl", "luisa-core", "luisa-ext-volk")
+    end
+
     add_deps("cmake", "pkgconf")
     add_deps("spdlog", {configs = {header_only = false, fmt_external = true}})
     add_deps("lmdb", "reproc", "xxhash", "yyjson", "magic_enum", "marl", "stb") -- TODO: half
+    if is_plat("linux") then
+        add_deps("libuuid")
+    end
 
     on_check(function (package)
         assert(package:is_arch64(), "package(luisa-compute) only support 64 bit")
@@ -78,12 +85,12 @@ package("luisa-compute")
             package:add("deps", "cuda")
         end
         if package:config("vulkan") then
-            package:add("deps", "vulkansdk", "volk")
+            package:add("deps", "vulkansdk")
             package:add("defines", "LUISA_USE_SYSTEM_VULKAN=1")
         end
     end)
 
-    on_install("windows|x64", "macosx", function (package)
+    on_install("windows|x64", "linux", "macosx", function (package)
         if package:has_tool("cxx", "cl") then
             package:add("cxflags", "/Zc:preprocessor", "/Zc:__cplusplus")
         end
@@ -91,7 +98,6 @@ package("luisa-compute")
         local configs = {
             "-DLUISA_COMPUTE_ENABLE_SCCACHE=OFF",
             "-DLUISA_COMPUTE_BUILD_TESTS=OFF",
-            "-DLUISA_COMPUTE_ENABLE_UNITY_BUILD=ON",
 
             "-DLUISA_COMPUTE_USE_SYSTEM_LIBS=ON",
 
@@ -100,6 +106,7 @@ package("luisa-compute")
         }
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
         table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
+        table.insert(configs, "-DLUISA_COMPUTE_ENABLE_UNITY_BUILD=" .. (not package:is_plat("linux") and "ON" or "OFF"))
         table.insert(configs, "-DLUISA_COMPUTE_ENABLE_LTO=" .. (package:config("lto") and "ON" or "OFF"))
         table.insert(configs, "-DLUISA_COMPUTE_ENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF"))
         if package:is_plat("windows") and package:is_debug() then