瀏覽代碼

update polyscope to 2.2.1 (#3761)

* update polyscope to 2.2.1

* fix glm

* disable egl
Hoildkv 1 年之前
父節點
當前提交
5d4129988a
共有 2 個文件被更改,包括 86 次插入5 次删除
  1. 68 0
      packages/p/polyscope/patches/v2.2.1/deps.patch
  2. 18 5
      packages/p/polyscope/xmake.lua

+ 68 - 0
packages/p/polyscope/patches/v2.2.1/deps.patch

@@ -0,0 +1,68 @@
+diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
+index d7bded0..99443ff 100644
+--- a/deps/CMakeLists.txt
++++ b/deps/CMakeLists.txt
+@@ -2,7 +2,6 @@ if("${POLYSCOPE_BACKEND_OPENGL3_GLFW}")
+ 
+   ## Glad
+   if(NOT TARGET glad)
+-    add_subdirectory(glad)
+   endif()
+ 
+   ## GLFW
+@@ -11,25 +10,20 @@ if("${POLYSCOPE_BACKEND_OPENGL3_GLFW}")
+     set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+     set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+     set(GLFW_INSTALL OFF CACHE BOOL "" FORCE)
+-    add_subdirectory(glfw)
++    find_package(glfw3 REQUIRED)
+   endif()
+ endif()
+ 
+ ## glm
+ if(NOT TARGET glm::glm)
+-  add_subdirectory(glm)
+-  target_compile_definitions(glm INTERFACE GLM_ENABLE_EXPERIMENTAL)
+-  set_target_properties(glm PROPERTIES LINKER_LANGUAGE CXX)
+ endif()
+ 
+ ## Imgui
+ if(NOT TARGET imgui)
+-  add_subdirectory(imgui)
+ endif()
+ 
+ ## Json
+ if(NOT TARGET nlohmann_json::nlohmann_json)
+-  add_subdirectory(json)
+ endif()
+ 
+ ## MarchingCube
+@@ -39,5 +33,5 @@ endif()
+ 
+ ## stb
+ if(NOT TARGET stb)
+-  add_subdirectory(stb)
++  add_library(stb OBJECT stb_impl.cpp)
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9d03d96..205e566 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -49,7 +49,7 @@ if("${POLYSCOPE_BACKEND_OPENGL3_GLFW}")
+ 
+   # Link settings
+   list(APPEND BACKEND_LIBS
+-    glfw
++    ${GLFW_LIBRARIES}
+   )
+ 
+   if(APPLE)
+@@ -371,5 +371,6 @@ add_definitions(-DNOMINMAX)
+ target_include_directories(polyscope PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../include")
+ 
+ # Link settings
+-target_link_libraries(polyscope PUBLIC imgui glm::glm)
+-target_link_libraries(polyscope PRIVATE "${BACKEND_LIBS}" stb nlohmann_json::nlohmann_json MarchingCube::MarchingCube)
++target_compile_definitions(polyscope PUBLIC GLM_ENABLE_EXPERIMENTAL)
++target_link_libraries(polyscope PUBLIC imgui)
++target_link_libraries(polyscope PRIVATE "${BACKEND_LIBS}" stb MarchingCube::MarchingCube)

+ 18 - 5
packages/p/polyscope/xmake.lua

@@ -6,9 +6,11 @@ package("polyscope")
 
     add_urls("https://github.com/nmwsharp/polyscope/archive/refs/tags/$(version).tar.gz",
              "https://github.com/nmwsharp/polyscope.git")
+    add_versions("v2.2.1", "1952d20722cb37c5531e88d5b7f5db88c2827c55fd7ada481c2ac425f3bc4d25")
     add_versions("v2.1.0", "bdad2daab33a44b3b6424cec82b43cecb842b529769fd0df3bf7d8e616cea34c")
     add_versions("v1.3.0", "c0d3594b1c818c6e7efe2c2589d71f5e254db383d36a92555aa909a2114f12d4")
 
+    add_patches("2.2.1", "patches/v2.2.1/deps.patch", "7183fac6dcb6ebc9441c02e4c5f51721ab2a64fe524488611e6085e5b72bb6ae")
     add_patches("2.1.0", "patches/v2.1.0/deps.patch", "01bc0b31193e65b8cc079d9f232f73fb995b3cfd276840add58a01dfcf477cc8")
     add_patches("1.3.0", "patches/v1.3.0/deps.patch", "2d183713be791deddcfb48e4546793f584071eb1aa7a045e03c7ceed841470c8")
     add_patches("1.3.0", "patches/v1.3.0/imgui.patch", "e7865d6de85103098cdc25ab8a0e94dd26fb5f718609f20093b91891cc8f21e1")
@@ -18,15 +20,26 @@ package("polyscope")
     end
 
     add_deps("cmake")
-    add_deps("imgui <=1.86", {configs = {glfw = true, opengl3 = true}})
-    add_deps("glad", "glfw", "glm", "happly", "nlohmann_json", "stb")
+    add_deps("glad", "glfw", "glm", "nlohmann_json", "stb")
+    on_load("windows", "macosx", "linux", function (package)
+        if package:version():ge("2.2.0") then
+            package:add("deps", "imgui", {configs = {glfw = true, opengl3 = true}})
+        else
+            package:add("deps", "happly")
+            package:add("deps", "imgui <=1.86", {configs = {glfw = true, opengl3 = true}})
+        end
+        package:add("defines", "GLM_ENABLE_EXPERIMENTAL")
+    end)
+
     on_install("windows", "macosx", "linux", function (package)
-        os.mv("deps/stb/stb_impl.cpp", "deps/stb_impl.cpp")
-        local configs = {"-DPOLYSCOPE_BACKEND_OPENGL_MOCK=OFF"}
+        os.cp("deps/stb/stb_impl.cpp", "deps/stb_impl.cpp")
+        local configs = {"-DPOLYSCOPE_BACKEND_OPENGL_MOCK=OFF", "-DPOLYSCOPE_BACKEND_OPENGL3_EGL=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"))
         import("package.tools.cmake").install(package, configs, {packagedeps = {"imgui", "glad", "glfw", "glm", "happly", "nlohmann_json", "stb"}})
-        os.cp("include/polyscope", package:installdir("include"))
+        if package:version():lt("2.2.0") then
+            os.cp("include/polyscope", package:installdir("include"))
+        end
     end)
 
     on_test(function (package)