Browse Source

microsoft-proxy: add 4.0.0 version (#7933)

star9029 3 weeks ago
parent
commit
b5b30aa946
1 changed files with 22 additions and 8 deletions
  1. 22 8
      packages/m/microsoft-proxy/xmake.lua

+ 22 - 8
packages/m/microsoft-proxy/xmake.lua

@@ -6,7 +6,8 @@ package("microsoft-proxy")
 
 
     add_urls("https://github.com/microsoft/proxy/archive/refs/tags/$(version).tar.gz",
     add_urls("https://github.com/microsoft/proxy/archive/refs/tags/$(version).tar.gz",
              "https://github.com/microsoft/proxy.git")
              "https://github.com/microsoft/proxy.git")
-    
+
+    add_versions("4.0.0", "b51f07f315a3cd7ecfbbaa86fa8fae2b9bc99c148c16f41cddd9c06dcb8eb58b")
     add_versions("3.4.0", "ca13bdc2b67a246a22ccda43690345daeb25bc3bb5c2c3ed1f6e4e466e9361aa")
     add_versions("3.4.0", "ca13bdc2b67a246a22ccda43690345daeb25bc3bb5c2c3ed1f6e4e466e9361aa")
     add_versions("3.3.0", "9a5e89e70082cbdd937e80f5113f4ceb47bf6361cf7b88cb52782906a1b655cc")
     add_versions("3.3.0", "9a5e89e70082cbdd937e80f5113f4ceb47bf6361cf7b88cb52782906a1b655cc")
     add_versions("3.2.1", "83df61c6ef762df14b4f803a1dde76c6e96261ac7f821976478354c0cc2417a8")
     add_versions("3.2.1", "83df61c6ef762df14b4f803a1dde76c6e96261ac7f821976478354c0cc2417a8")
@@ -18,6 +19,8 @@ package("microsoft-proxy")
     add_versions("2.2.1", "096f0b2d793dffc54d41def2bca0ced594b6b8efe35ac5ae27db35802e742b96")
     add_versions("2.2.1", "096f0b2d793dffc54d41def2bca0ced594b6b8efe35ac5ae27db35802e742b96")
     add_versions("1.1.1", "6852b135f0bb6de4dc723f76724794cff4e3d0d5706d09d0b2a4f749f309055d")
     add_versions("1.1.1", "6852b135f0bb6de4dc723f76724794cff4e3d0d5706d09d0b2a4f749f309055d")
 
 
+    add_configs("cmake", {description = "Use cmake buildsystem", default = true, type = "boolean"})
+
     if on_check then
     if on_check then
         on_check(function (package)
         on_check(function (package)
             if package:is_plat("windows") then
             if package:is_plat("windows") then
@@ -39,19 +42,30 @@ package("microsoft-proxy")
         end)
         end)
     end
     end
 
 
-    on_install(function (package)
+    on_load(function (package)
+        if package:config("cmake") then
+            package:add("deps", "cmake")
+        end
+    end)
 
 
-        if package:version():le("3.3.0") then
-            os.cp("proxy.h", package:installdir("include"))
+    on_install(function (package)
+        if package:config("cmake") then
+            local configs = {"-DBUILD_TESTING=OFF"}
+            table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
+            import("package.tools.cmake").install(package, configs)
         else
         else
-            -- version > 3.3.0, copy the entire 'repo/include' folder into 'include'
-            -- for downstream cmake compability.
-            os.cp("include/*", package:installdir("include"))
+            if package:version() and package:version():le("3.3.0") then
+                os.vcp("proxy.h", package:installdir("include"))
+            else
+                -- version > 3.3.0, copy the entire 'repo/include' folder into 'include'
+                -- for downstream cmake compability.
+                os.vcp("include/*", package:installdir("include"))
+            end
         end
         end
     end)
     end)
 
 
     on_test(function (package)
     on_test(function (package)
-        if package:version():le("3.3.0") then
+        if package:version() and package:version():le("3.3.0") and not package:config("cmake") then
             assert(package:has_cxxincludes("proxy.h", {configs = {languages = "c++20"}}))
             assert(package:has_cxxincludes("proxy.h", {configs = {languages = "c++20"}}))
         else
         else
             assert(package:has_cxxincludes("proxy/proxy.h", {configs = {languages = "c++20"}}))
             assert(package:has_cxxincludes("proxy/proxy.h", {configs = {languages = "c++20"}}))