From 703062b02624a48f383e58f8c2f40513df3048cb Mon Sep 17 00:00:00 2001 From: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Date: Thu, 14 Oct 2021 17:49:18 -0700 Subject: [PATCH] [libigl] Update to 2.3.0 (#20662) * [libigl] Update to 2.3.0 * remove the change in fix-config.patch * restore to the original state Co-authored-by: Cheney-Wang --- ports/libigl/fix-dependency.patch | 56 +++++++++++++++------------ ports/libigl/fix-imgui-set-cond.patch | 26 ------------- ports/libigl/portfile.cmake | 36 +++++++++-------- ports/libigl/vcpkg.json | 14 +++++-- versions/baseline.json | 4 +- versions/l-/libigl.json | 5 +++ 6 files changed, 68 insertions(+), 73 deletions(-) delete mode 100644 ports/libigl/fix-imgui-set-cond.patch diff --git a/ports/libigl/fix-dependency.patch b/ports/libigl/fix-dependency.patch index 94ce7aea98..f7ed9f7f22 100644 --- a/ports/libigl/fix-dependency.patch +++ b/ports/libigl/fix-dependency.patch @@ -9,7 +9,7 @@ index b98aa55..46c68a7 100644 if(IGL_STATIC_RUNTIME) message(STATUS "MSVC -> forcing use of statically-linked runtime.") diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake -index d07bbb3..a33cefa 100644 +index 6de1b41..46ecbf0 100644 --- a/cmake/libigl.cmake +++ b/cmake/libigl.cmake @@ -107,7 +107,8 @@ if(HUNTER_ENABLED) @@ -33,21 +33,22 @@ index d07bbb3..a33cefa 100644 + if(0) igl_download_embree() - set(EMBREE_TESTING_INTENSITY 0 CACHE STRING "") -@@ -315,8 +315,11 @@ if(LIBIGL_WITH_EMBREE) - endif() + # Note: On macOS, building embree as a static lib can only be done with a single ISA target. +@@ -317,8 +318,11 @@ if(LIBIGL_WITH_EMBREE) compile_igl_module("embree") target_link_libraries(igl_embree ${IGL_SCOPE} embree) - target_include_directories(igl_embree ${IGL_SCOPE} ${EMBREE_DIR}/include) +- target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) + if(LIBIGL_USE_STATIC_LIBRARY) -+ find_package(TBB CONFIG REQUIRED) -+ target_link_libraries(igl_embree ${IGL_SCOPE} TBB::tbb) - target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) ++ find_package(TBB CONFIG REQUIRED) ++ target_link_libraries(igl_embree ${IGL_SCOPE} TBB::tbb) ++ target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) + endif() endif() -@@ -358,11 +359,12 @@ if(LIBIGL_WITH_OPENGL) + ################################################################################ +@@ -359,11 +363,12 @@ if(LIBIGL_WITH_OPENGL) endif() # glad module @@ -62,7 +63,7 @@ index d07bbb3..a33cefa 100644 endif() ################################################################################ -@@ -371,7 +373,8 @@ if(LIBIGL_WITH_OPENGL_GLFW) +@@ -372,7 +377,8 @@ if(LIBIGL_WITH_OPENGL_GLFW) if(TARGET igl::opengl) # GLFW module compile_igl_module("opengl/glfw") @@ -72,7 +73,7 @@ index d07bbb3..a33cefa 100644 igl_download_glfw() option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF) option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF) -@@ -394,11 +397,12 @@ if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) +@@ -395,17 +401,19 @@ if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) if(TARGET igl::opengl_glfw) # ImGui module compile_igl_module("opengl/glfw/imgui") @@ -82,12 +83,20 @@ index d07bbb3..a33cefa 100644 igl_download_imgui() add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui) endif() -- target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui) -+ target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui::imgui) +- if(NOT TARGET imguizmo) ++ find_package(imguizmo CONFIG REQUIRED) ++ if(0) + igl_download_imguizmo() + add_library(imguizmo ${LIBIGL_EXTERNAL}/imguizmo/ImGuizmo.cpp ${LIBIGL_EXTERNAL}/imguizmo/ImGuizmo.h) + target_compile_features(imguizmo PUBLIC cxx_std_11) + target_link_libraries(imguizmo PUBLIC imgui) + endif() +- target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui imguizmo) ++ target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui::imgui imguizmo::imguizmo) endif() endif() -@@ -408,12 +412,22 @@ if(LIBIGL_WITH_PNG) +@@ -415,12 +423,22 @@ if(LIBIGL_WITH_PNG) # png/ module is anomalous because it also depends on opengl it really should # be moved into the opengl/ directory and namespace ... if(TARGET igl_opengl) @@ -112,7 +121,7 @@ index d07bbb3..a33cefa 100644 endif() endif() -@@ -461,7 +475,8 @@ endif() +@@ -468,7 +486,8 @@ endif() ### Compile the xml part ### if(LIBIGL_WITH_XML) set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") @@ -122,18 +131,18 @@ index d07bbb3..a33cefa 100644 igl_download_tinyxml2() add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR}) -@@ -471,7 +486,7 @@ if(LIBIGL_WITH_XML) +@@ -478,8 +497,7 @@ if(LIBIGL_WITH_XML) SOVERSION "3") endif() compile_igl_module("xml") - target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2) +- target_include_directories(igl_xml ${IGL_SCOPE} ${TINYXML2_DIR}) + target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2::tinyxml2) -- target_include_directories(igl_xml ${IGL_SCOPE} ${TINYXML2_DIR}) -+ endif() + ################################################################################ diff --git a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h -index 1d3e3bc..682b6d7 100644 +index 0663390..f35f097 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h +++ b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h @@ -10,7 +10,7 @@ @@ -146,10 +155,10 @@ index 1d3e3bc..682b6d7 100644 #include #include diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -index 47de487..6c607de 100644 +index c91c1cc..0836142 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp +++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -@@ -9,9 +9,9 @@ +@@ -9,7 +9,7 @@ #include "ImGuiMenu.h" #include "ImGuiHelpers.h" #include @@ -158,9 +167,6 @@ index 47de487..6c607de 100644 #include #include #include - #include - #include - //////////////////////////////////////////////////////////////////////////////// diff --git a/include/igl/opengl/glfw/imgui/ImGuiTraits.h b/include/igl/opengl/glfw/imgui/ImGuiTraits.h index 7dae22a..e6911c5 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiTraits.h @@ -175,7 +181,7 @@ index 7dae22a..e6911c5 100644 // Extend ImGui by populating its namespace directly namespace ImGui diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 273324d..cefbd52 100644 +index 2410c19..a7659a3 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -15,12 +15,11 @@ igl_download_test_data() @@ -193,7 +199,7 @@ index 273324d..cefbd52 100644 # Create test executable diff --git a/tutorial/106_ViewerMenu/main.cpp b/tutorial/106_ViewerMenu/main.cpp -index cc514e5..f1be538 100644 +index a8e49d6..c7946f9 100644 --- a/tutorial/106_ViewerMenu/main.cpp +++ b/tutorial/106_ViewerMenu/main.cpp @@ -2,7 +2,7 @@ diff --git a/ports/libigl/fix-imgui-set-cond.patch b/ports/libigl/fix-imgui-set-cond.patch deleted file mode 100644 index 964f6f3f49..0000000000 --- a/ports/libigl/fix-imgui-set-cond.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -index 47de4870..7e6f13a8 100644 ---- a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -+++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -@@ -167,8 +167,8 @@ IGL_INLINE void ImGuiMenu::draw_menu() - IGL_INLINE void ImGuiMenu::draw_viewer_window() - { - float menu_width = 180.f * menu_scaling(); -- ImGui::SetNextWindowPos(ImVec2(0.0f, 0.0f), ImGuiSetCond_FirstUseEver); -- ImGui::SetNextWindowSize(ImVec2(0.0f, 0.0f), ImGuiSetCond_FirstUseEver); -+ ImGui::SetNextWindowPos(ImVec2(0.0f, 0.0f), ImGuiCond_FirstUseEver); -+ ImGui::SetNextWindowSize(ImVec2(0.0f, 0.0f), ImGuiCond_FirstUseEver); - ImGui::SetNextWindowSizeConstraints(ImVec2(menu_width, -1.0f), ImVec2(menu_width, -1.0f)); - bool _viewer_menu_visible = true; - ImGui::Begin( -@@ -310,8 +310,8 @@ IGL_INLINE void ImGuiMenu::draw_viewer_menu() - IGL_INLINE void ImGuiMenu::draw_labels_window() - { - // Text labels -- ImGui::SetNextWindowPos(ImVec2(0,0), ImGuiSetCond_Always); -- ImGui::SetNextWindowSize(ImGui::GetIO().DisplaySize, ImGuiSetCond_Always); -+ ImGui::SetNextWindowPos(ImVec2(0,0), ImGuiCond_Always); -+ ImGui::SetNextWindowSize(ImGui::GetIO().DisplaySize, ImGuiCond_Always); - bool visible = true; - ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0,0,0,0)); - ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0); diff --git a/ports/libigl/portfile.cmake b/ports/libigl/portfile.cmake index 7d636a73f8..5917425cec 100644 --- a/ports/libigl/portfile.cmake +++ b/ports/libigl/portfile.cmake @@ -3,29 +3,29 @@ vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libigl/libigl - REF 3cb4894eaf8ea4610467189ca292be349425d44b #2.2.0 - SHA512 339f96e36b6a99ae8301ec2e234e18cecba7b7c42289ed68a26c20b279dce3135405f9b49e292c321fba962d56c083ae61831057bec9a19ad1495e2afa379b8b + REF e60423e28c86b6aa2a3f6eb0112e8fd881f96777 #2.3.0 + SHA512 3fecb710825e58745c1d67eab694ee365a5b86151a5a1ca3758c1000c124059d38dbc78e8c6e941be6d85a716f928ed8fea42bb6007b8e24da0123332c2c96da HEAD_REF master PATCHES fix-dependency.patch - fix-imgui-set-cond.patch install-extra-headers.patch fix-config.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - embree LIBIGL_WITH_EMBREE - opengl LIBIGL_WITH_OPENGL - glfw LIBIGL_WITH_OPENGL_GLFW - imgui LIBIGL_WITH_OPENGL_GLFW_IMGUI - #png LIBIGL_WITH_PNG # Disable this feature due to issue https://github.com/libigl/libigl/issues/1199 - xml LIBIGL_WITH_XML - #python LIBIGL_WITH_PYTHON # Python binding are in the process of being redone. + FEATURES + embree LIBIGL_WITH_EMBREE + opengl LIBIGL_WITH_OPENGL + glfw LIBIGL_WITH_OPENGL_GLFW + imgui LIBIGL_WITH_OPENGL_GLFW_IMGUI + #png LIBIGL_WITH_PNG # Disable this feature due to issue https://github.com/libigl/libigl/issues/1199 + xml LIBIGL_WITH_XML + #python LIBIGL_WITH_PYTHON # Python binding are in the process of being redone. ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} -DLIBIGL_BUILD_PYTHON=OFF -DLIBIGL_EXPORT_TARGETS=ON @@ -38,14 +38,16 @@ vcpkg_configure_cmake( -DLIBIGL_WITH_PNG=OFF -DLIBIGL_BUILD_TESTS=OFF -DPYTHON_EXECUTABLE=${PYTHON2} + MAYBE_UNUSED_VARIABLES + PYTHON_EXECUTABLE ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/libigl/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/libigl/cmake) vcpkg_copy_pdbs() # libigl is a header-only library. -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE.GPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.GPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/libigl/vcpkg.json b/ports/libigl/vcpkg.json index 2a4a9797df..22f5231683 100644 --- a/ports/libigl/vcpkg.json +++ b/ports/libigl/vcpkg.json @@ -1,12 +1,19 @@ { "name": "libigl", - "version-string": "2.2.0", - "port-version": 6, + "version": "2.3.0", "description": "libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB.", "homepage": "https://github.com/libigl/libigl", "supports": "!(arm | uwp)", "dependencies": [ - "eigen3" + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "embree": { @@ -40,6 +47,7 @@ "opengl3-binding" ] }, + "imguizmo", { "name": "libigl", "default-features": false, diff --git a/versions/baseline.json b/versions/baseline.json index c8ececc924..65f30a0e53 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3485,8 +3485,8 @@ "port-version": 4 }, "libigl": { - "baseline": "2.2.0", - "port-version": 6 + "baseline": "2.3.0", + "port-version": 0 }, "libilbc": { "baseline": "3.0.3", diff --git a/versions/l-/libigl.json b/versions/l-/libigl.json index 103341c9f3..6498ecd346 100644 --- a/versions/l-/libigl.json +++ b/versions/l-/libigl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6ddb181a509d6897a3e29b7a1a696af1db2e044f", + "version": "2.3.0", + "port-version": 0 + }, { "git-tree": "ced3bf6b1438690d7b1b3d1f0fa40eacbc78f1ca", "version-string": "2.2.0",