Browse Source

add enkits (#1038)

* add enkits

* update openimageio

* update opencolorio

* update nlohmann_json

* update libdeflate

* test ocio

* fix enkits

* add version check to openexr
Hoildkv 3 năm trước cách đây
mục cha
commit
d9252b77f4

+ 37 - 0
packages/e/enkits/xmake.lua

@@ -0,0 +1,37 @@
+package("enkits")
+
+    set_homepage("https://github.com/dougbinks/enkiTS")
+    set_description("A permissively licensed C and C++ Task Scheduler for creating parallel programs.")
+    set_license("zlib")
+
+    add_urls("https://github.com/dougbinks/enkiTS/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/dougbinks/enkiTS.git")
+    add_versions("v1.10", "578f285fc7c2744bf831548f35b855c6ab06c0d541d08c9cc50b6b72a250811a")
+
+    add_deps("cmake")
+    add_linkdirs("lib/enkiTS")
+    add_links("enkiTS")
+    if is_plat("linux") then
+        add_syslinks("pthread", "rt")
+    end
+    on_load("windows", function (package)
+        if package:config("shared") then
+            package:add("defines", "ENKITS_DLL")
+        end
+    end)
+
+    on_install("windows", "macosx", "linux", function (package)
+        local configs = {"-DENKITS_BUILD_EXAMPLES=OFF", "-DENKITS_INSTALL=ON"}
+        table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
+        table.insert(configs, "-DENKITS_BUILD_SHARED=" .. (package:config("shared") and "ON" or "OFF"))
+        import("package.tools.cmake").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets([[
+            void test() {
+                enki::TaskScheduler g_TS;
+                g_TS.Initialize();
+            }
+        ]], {configs = {languages = "c++17"}, includes = "enkiTS/TaskScheduler.h"}))
+    end)

+ 1 - 0
packages/l/libdeflate/xmake.lua

@@ -7,6 +7,7 @@ package("libdeflate")
     add_urls("https://github.com/ebiggers/libdeflate/archive/refs/tags/$(version).tar.gz",
              "https://github.com/ebiggers/libdeflate.git")
     add_versions("v1.8", "50711ad4e9d3862f8dfb11b97eb53631a86ee3ce49c0e68ec2b6d059a9662f61")
+    add_versions("v1.10", "5c1f75c285cd87202226f4de49985dcb75732f527eefba2b3ddd70a8865f2533")
 
     on_load("windows", function (package)
         if package:config("shared") then

+ 2 - 0
packages/n/nlohmann_json/xmake.lua

@@ -2,9 +2,11 @@ package("nlohmann_json")
 
     set_homepage("https://nlohmann.github.io/json/")
     set_description("JSON for Modern C++")
+    set_license("MIT")
 
     add_urls("https://github.com/nlohmann/json/archive/$(version).tar.gz",
              "https://github.com/nlohmann/json.git")
+    add_versions("v3.10.5", "5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4")
     add_versions("v3.10.0", "eb8b07806efa5f95b349766ccc7a8ec2348f3b2ee9975ad879259a371aea8084")
     add_versions("v3.9.1", "4cf0df69731494668bdd6460ed8cb269b68de9c19ad8c27abc24cd72605b2d5b")
 

+ 1 - 3
packages/o/opencolorio/xmake.lua

@@ -7,6 +7,7 @@ package("opencolorio")
     add_urls("https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/refs/tags/$(version).tar.gz",
              "https://github.com/AcademySoftwareFoundation/OpenColorIO.git")
     add_versions("v2.1.0", "81fc7853a490031632a69c73716bc6ac271b395e2ba0e2587af9995c2b0efb5f")
+    add_versions("v2.1.1", "16ebc3e0f21f72dbe90fe60437eb864f4d4de9c255ef8e212f837824fc9b8d9c")
 
     add_deps("cmake", "expat", "yaml-cpp", "imath", "pystring")
     if is_plat("windows") then
@@ -21,9 +22,6 @@ package("opencolorio")
     end)
 
     on_install("windows", "macosx", "linux", function (package)
-        if package:is_plat("windows") and package:config("shared") and package:config("vs_runtime"):startswith("MT") then
-            raise("Can not build this shared library against static runtime.")
-        end
         local configs = {"-DOCIO_BUILD_APPS=OFF", "-DOCIO_BUILD_OPENFX=OFF", "-DOCIO_BUILD_PYTHON=OFF", "-DOCIO_BUILD_DOCS=OFF", "-DOCIO_BUILD_TESTS=OFF", "-DOCIO_BUILD_GPU_TESTS=OFF"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
         table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))

+ 7 - 0
packages/o/openexr/xmake.lua

@@ -41,6 +41,13 @@ package("openexr")
         local configs = {"-DBUILD_TESTING=OFF", "-DINSTALL_OPENEXR_EXAMPLES=OFF", "-DINSTALL_OPENEXR_DOCS=OFF", "-DOPENEXR_BUILD_UTILS=ON"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
         if package:version():ge("3.0") then
+            if package:is_plat("windows") and package:version():le("3.1.4") then
+                local vs_toolset = import("core.tool.toolchain").load("msvc"):config("vs_toolset")
+                if vs_toolset then
+                    local toolsetver = vs_toolset:match("(%d+%.%d+)%.%d+")
+                    assert(tonumber(toolsetver) < 14.31, "This version is incompatible with MSVC 14.31.")
+                end
+            end
             table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
         else
             if package:config("build_both") then

+ 1 - 0
packages/o/openimageio/xmake.lua

@@ -7,6 +7,7 @@ package("openimageio")
     add_urls("https://github.com/OpenImageIO/oiio/archive/refs/tags/v$(version).zip", {version = function (version) return version:gsub("%+", ".") end})
     add_versions("2.2.19+0", "30a494ccfc2ee951fabbdf308d1b59eddb1a21aa5276887fe6a6fc874454794e")
     add_versions("2.3.10+1", "48ce9b9c3e815885f5634438fed3e240ad186fd9e30d392e17564b5e9eebb089")
+    add_versions("2.3.13+0", "4b42e10c93e9954fc89287b9a187c78539c49d16c2947fc140b1452860a54c26")
 
     add_deps("cmake")
     add_deps("boost", {configs = {filesystem = true, system = true, thread = true}})