From 91829f9a357c30b9a12141b11b46fa90694d2193 Mon Sep 17 00:00:00 2001
From: tamasmeszaros <meszaros.q@gmail.com>
Date: Fri, 1 Nov 2019 10:56:39 +0100
Subject: [PATCH] Remove git update step from deps where patch is applied.

---
 deps/deps-unix-common.cmake |  45 +++----------
 deps/deps-windows.cmake     |  49 +++-----------
 deps/igl-mods.patch         | 128 ------------------------------------
 3 files changed, 19 insertions(+), 203 deletions(-)
 delete mode 100644 deps/igl-mods.patch

diff --git a/deps/deps-unix-common.cmake b/deps/deps-unix-common.cmake
index c6caab987..eae319efc 100644
--- a/deps/deps-unix-common.cmake
+++ b/deps/deps-unix-common.cmake
@@ -61,42 +61,14 @@ ExternalProject_Add(dep_qhull
         -DBUILD_SHARED_LIBS=OFF
         -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
         ${DEP_CMAKE_OPTS}
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch
+    UPDATE_COMMAND ""
+    PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch
 )
 
-ExternalProject_Add(dep_libigl
-    EXCLUDE_FROM_ALL 1
-    URL "https://github.com/libigl/libigl/archive/v2.0.0.tar.gz"
-    URL_HASH SHA256=42518e6b106c7209c73435fd260ed5d34edeb254852495b4c95dce2d95401328
-    CMAKE_ARGS
-        -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
-        -DLIBIGL_BUILD_PYTHON=OFF
-        -DLIBIGL_BUILD_TESTS=OFF
-        -DLIBIGL_BUILD_TUTORIALS=OFF
-        -DLIBIGL_USE_STATIC_LIBRARY=OFF #${DEP_BUILD_IGL_STATIC}
-        -DLIBIGL_WITHOUT_COPYLEFT=OFF
-        -DLIBIGL_WITH_CGAL=OFF
-        -DLIBIGL_WITH_COMISO=OFF
-        -DLIBIGL_WITH_CORK=OFF
-        -DLIBIGL_WITH_EMBREE=OFF
-        -DLIBIGL_WITH_MATLAB=OFF
-        -DLIBIGL_WITH_MOSEK=OFF
-        -DLIBIGL_WITH_OPENGL=OFF
-        -DLIBIGL_WITH_OPENGL_GLFW=OFF
-        -DLIBIGL_WITH_OPENGL_GLFW_IMGUI=OFF
-        -DLIBIGL_WITH_PNG=OFF
-        -DLIBIGL_WITH_PYTHON=OFF
-        -DLIBIGL_WITH_TETGEN=OFF
-        -DLIBIGL_WITH_TRIANGLE=OFF
-        -DLIBIGL_WITH_XML=OFF
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/igl-mods.patch
-)
-
-
 ExternalProject_Add(dep_blosc
     EXCLUDE_FROM_ALL 1
     GIT_REPOSITORY https://github.com/Blosc/c-blosc.git
-    GIT_TAG v1.17.0
+    GIT_TAG e63775855294b50820ef44d1b157f4de1cc38d3e #v1.17.0
     DEPENDS
     CMAKE_ARGS
         -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
@@ -108,13 +80,14 @@ ExternalProject_Add(dep_blosc
         -DBUILD_TESTS=OFF 
         -DBUILD_BENCHMARKS=OFF 
         -DPREFER_EXTERNAL_ZLIB=ON
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/blosc-mods.patch
+    UPDATE_COMMAND ""
+    PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/blosc-mods.patch
 )
 
 ExternalProject_Add(dep_openexr
     EXCLUDE_FROM_ALL 1
     GIT_REPOSITORY https://github.com/openexr/openexr.git
-    GIT_TAG v2.4.0 
+    GIT_TAG eae0e337c9f5117e78114fd05f7a415819df413a #v2.4.0 
     CMAKE_ARGS
         -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
         -DBUILD_SHARED_LIBS=OFF
@@ -123,12 +96,13 @@ ExternalProject_Add(dep_openexr
         -DPYILMBASE_ENABLE:BOOL=OFF 
         -DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
         -DOPENEXR_BUILD_UTILS:BOOL=OFF
+    UPDATE_COMMAND ""
 )
 
 ExternalProject_Add(dep_openvdb
     EXCLUDE_FROM_ALL 1
     GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openvdb.git
-    GIT_TAG v6.2.1
+    GIT_TAG aebaf8d95be5e57fd33949281ec357db4a576c2e #v6.2.1
     DEPENDS dep_blosc dep_openexr dep_tbb
     CMAKE_ARGS
         -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
@@ -142,5 +116,6 @@ ExternalProject_Add(dep_openvdb
         -DOPENVDB_CORE_STATIC=ON 
         -DTBB_STATIC=ON
         -DOPENVDB_BUILD_VDB_PRINT=ON
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply ${CMAKE_CURRENT_SOURCE_DIR}/openvdb-mods.patch
+    UPDATE_COMMAND ""
+    PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/openvdb-mods.patch
 )
\ No newline at end of file
diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake
index 3f722ea99..514a90a9e 100644
--- a/deps/deps-windows.cmake
+++ b/deps/deps-windows.cmake
@@ -226,7 +226,8 @@ ExternalProject_Add(dep_qhull
         -DBUILD_SHARED_LIBS=OFF
         -DCMAKE_POSITION_INDEPENDENT_CODE=ON
         -DCMAKE_DEBUG_POSTFIX=d
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch
+    UPDATE_COMMAND ""
+    PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch
     BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
     INSTALL_COMMAND ""
 )
@@ -243,41 +244,6 @@ endif ()
 
 find_package(Git REQUIRED)
 
-ExternalProject_Add(dep_libigl
-    EXCLUDE_FROM_ALL 1
-    URL "https://github.com/libigl/libigl/archive/v2.0.0.tar.gz"
-    URL_HASH SHA256=42518e6b106c7209c73435fd260ed5d34edeb254852495b4c95dce2d95401328
-    CMAKE_GENERATOR "${DEP_MSVC_GEN}"
-    CMAKE_ARGS
-        -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
-        -DLIBIGL_BUILD_PYTHON=OFF
-        -DLIBIGL_BUILD_TESTS=OFF
-        -DLIBIGL_BUILD_TUTORIALS=OFF
-        -DLIBIGL_USE_STATIC_LIBRARY=OFF #${DEP_BUILD_IGL_STATIC}
-        -DLIBIGL_WITHOUT_COPYLEFT=OFF
-        -DLIBIGL_WITH_CGAL=OFF
-        -DLIBIGL_WITH_COMISO=OFF
-        -DLIBIGL_WITH_CORK=OFF
-        -DLIBIGL_WITH_EMBREE=OFF
-        -DLIBIGL_WITH_MATLAB=OFF
-        -DLIBIGL_WITH_MOSEK=OFF
-        -DLIBIGL_WITH_OPENGL=OFF
-        -DLIBIGL_WITH_OPENGL_GLFW=OFF
-        -DLIBIGL_WITH_OPENGL_GLFW_IMGUI=OFF
-        -DLIBIGL_WITH_PNG=OFF
-        -DLIBIGL_WITH_PYTHON=OFF
-        -DLIBIGL_WITH_TETGEN=OFF
-        -DLIBIGL_WITH_TRIANGLE=OFF
-        -DLIBIGL_WITH_XML=OFF
-        -DCMAKE_POSITION_INDEPENDENT_CODE=ON
-        -DCMAKE_DEBUG_POSTFIX=d
-    PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/igl-mods.patch
-    BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
-    INSTALL_COMMAND ""
-)
-
-add_debug_dep(dep_libigl)
-
 ExternalProject_Add(dep_wxwidgets
     EXCLUDE_FROM_ALL 1
     GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets"
@@ -306,7 +272,7 @@ ExternalProject_Add(dep_blosc
     #URL https://github.com/Blosc/c-blosc/archive/v1.17.0.zip
     #URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
     GIT_REPOSITORY https://github.com/Blosc/c-blosc.git
-    GIT_TAG v1.17.0
+    GIT_TAG e63775855294b50820ef44d1b157f4de1cc38d3e #v1.17.0
     DEPENDS dep_zlib
     CMAKE_GENERATOR "${DEP_MSVC_GEN}"
     CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
@@ -322,6 +288,7 @@ ExternalProject_Add(dep_blosc
         -DPREFER_EXTERNAL_ZLIB=ON
         -DBLOSC_IS_SUBPROJECT:BOOL=ON
         -DBLOSC_INSTALL:BOOL=ON
+    UPDATE_COMMAND ""
     PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/blosc-mods.patch
     BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
     INSTALL_COMMAND ""
@@ -332,7 +299,7 @@ add_debug_dep(dep_blosc)
 ExternalProject_Add(dep_openexr
     EXCLUDE_FROM_ALL 1
     GIT_REPOSITORY https://github.com/openexr/openexr.git
-    GIT_TAG v2.4.0 
+    GIT_TAG eae0e337c9f5117e78114fd05f7a415819df413a #v2.4.0 
     DEPENDS dep_zlib
     CMAKE_GENERATOR "${DEP_MSVC_GEN}"
     CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
@@ -344,6 +311,7 @@ ExternalProject_Add(dep_openexr
         -DPYILMBASE_ENABLE:BOOL=OFF 
         -DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
         -DOPENEXR_BUILD_UTILS:BOOL=OFF
+    UPDATE_COMMAND ""
     BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
     INSTALL_COMMAND ""
 )
@@ -355,8 +323,8 @@ ExternalProject_Add(dep_openvdb
     #URL https://github.com/AcademySoftwareFoundation/openvdb/archive/v6.2.1.zip
     #URL_HASH SHA256=dc337399dce8e1c9f21f20e97b1ce7e4933cb0a63bb3b8b734d8fcc464aa0c48
     GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openvdb.git
-    GIT_TAG v6.2.1
-    DEPENDS dep_blosc dep_openexr dep_tbb dep_boost
+    GIT_TAG  aebaf8d95be5e57fd33949281ec357db4a576c2e #v6.2.1
+    DEPENDS dep_blosc dep_openexr #dep_tbb dep_boost
     CMAKE_GENERATOR "${DEP_MSVC_GEN}"
     CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
     CMAKE_ARGS
@@ -372,6 +340,7 @@ ExternalProject_Add(dep_openvdb
         -DTBB_STATIC=ON
         -DOPENVDB_BUILD_VDB_PRINT=ON
     BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
+    UPDATE_COMMAND ""
     PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/openvdb-mods.patch
     INSTALL_COMMAND ""
 )
diff --git a/deps/igl-mods.patch b/deps/igl-mods.patch
deleted file mode 100644
index b0ff9205d..000000000
--- a/deps/igl-mods.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-diff --git a/cmake/libigl-config.cmake.in b/cmake/libigl-config.cmake.in
-index 317c745c..f9808e1e 100644
---- a/cmake/libigl-config.cmake.in
-+++ b/cmake/libigl-config.cmake.in
-@@ -2,28 +2,28 @@
- 
- include(${CMAKE_CURRENT_LIST_DIR}/libigl-export.cmake)
- 
--if (TARGET igl::core)
--  if (NOT TARGET Eigen3::Eigen)
--    find_package(Eigen3 QUIET)
--    if (NOT Eigen3_FOUND)
--      # try with PkgCOnfig
--      find_package(PkgConfig REQUIRED)
--      pkg_check_modules(Eigen3 QUIET IMPORTED_TARGET eigen3)
--    endif()
--
--    if (NOT Eigen3_FOUND)
--      message(FATAL_ERROR "Could not find required dependency Eigen3")
--      set(libigl_core_FOUND FALSE)
--    else()
--      target_link_libraries(igl::core INTERFACE PkgConfig::Eigen3)
--      set(libigl_core_FOUND TRUE)
--    endif()
--  else()
--    target_link_libraries(igl::core INTERFACE Eigen3::Eigen)
--    set(libigl_core_FOUND TRUE)
--  endif()
--
--endif()
-+# if (TARGET igl::core)
-+#   if (NOT TARGET Eigen3::Eigen)
-+#     find_package(Eigen3 QUIET)
-+#     if (NOT Eigen3_FOUND)
-+#       # try with PkgCOnfig
-+#       find_package(PkgConfig REQUIRED)
-+#       pkg_check_modules(Eigen3 QUIET IMPORTED_TARGET eigen3)
-+#     endif()
-+#
-+#     if (NOT Eigen3_FOUND)
-+#       message(FATAL_ERROR "Could not find required dependency Eigen3")
-+#       set(libigl_core_FOUND FALSE)
-+#     else()
-+#       target_link_libraries(igl::core INTERFACE PkgConfig::Eigen3)
-+#       set(libigl_core_FOUND TRUE)
-+#     endif()
-+#   else()
-+#     target_link_libraries(igl::core INTERFACE Eigen3::Eigen)
-+#     set(libigl_core_FOUND TRUE)
-+#   endif()
-+#
-+# endif()
- 
- check_required_components(libigl)
- 
-diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake
-index 4b11007a..47e6c395 100644
---- a/cmake/libigl.cmake
-+++ b/cmake/libigl.cmake
-@@ -445,6 +445,7 @@ function(install_dir_files dir_name)
-   if(NOT LIBIGL_USE_STATIC_LIBRARY)
-     file(GLOB public_sources
-       ${CMAKE_CURRENT_SOURCE_DIR}/include/igl${subpath}/*.cpp
-+      ${CMAKE_CURRENT_SOURCE_DIR}/include/igl${subpath}/*.c
-     )
-   endif()
-   list(APPEND files_to_install ${public_sources})
-diff --git a/include/igl/AABB.cpp b/include/igl/AABB.cpp
-index 09537335..92e90cb7 100644
---- a/include/igl/AABB.cpp
-+++ b/include/igl/AABB.cpp
-@@ -1071,5 +1071,11 @@ template void igl::AABB<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 3>::init<Eigen
- // generated by autoexplicit.sh
- template void igl::AABB<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 2>::init<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&);
- template double igl::AABB<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 3>::squared_distance<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<double, 1, 3, 1, 1, 3> const&, double, int&, Eigen::PlainObjectBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> >&) const;
-+template float igl::AABB<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, 3>::squared_distance<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Matrix<float, 1, 3, 1, 1, 3> const&, int&, Eigen::PlainObjectBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> >&) const;
- template bool igl::AABB<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 3>::intersect_ray<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<double, 1, 3, 1, 1, 3> const&, Eigen::Matrix<double, 1, 3, 1, 1, 3> const&, igl::Hit&) const;
-+template bool igl::AABB<Eigen::Matrix<double, -1, -1, 0, -1, -1>, 3>::intersect_ray<Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<double, 1, 3, 1, 1, 3> const&, Eigen::Matrix<double, 1, 3, 1, 1, 3> const&, std::vector<igl::Hit>&) const;
-+
-+template void igl::AABB<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, 3>::init<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&);
-+
-+template bool igl::AABB<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, 3>::intersect_ray<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Matrix<float, 1, 3, 1, 1, 3> const&, Eigen::Matrix<float, 1, 3, 1, 1, 3> const&, std::vector<igl::Hit, std::allocator<igl::Hit> >&) const;
- #endif
-diff --git a/include/igl/barycenter.cpp b/include/igl/barycenter.cpp
-index 065f82aa..ec2d96cd 100644
---- a/include/igl/barycenter.cpp
-+++ b/include/igl/barycenter.cpp
-@@ -54,4 +54,6 @@ template void igl::barycenter<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::M
- template void igl::barycenter<Eigen::Matrix<double, -1, 3, 0, -1, 3>, Eigen::Matrix<int, -1, 3, 0, -1, 3>, Eigen::Matrix<double, -1, 3, 0, -1, 3> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, 3, 0, -1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 3, 0, -1, 3> >&);
- template void igl::barycenter<Eigen::Matrix<double, -1, 3, 0, -1, 3>, Eigen::Matrix<int, -1, 3, 0, -1, 3>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, 3, 0, -1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, 3, 0, -1, 3> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&);
- template void igl::barycenter<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, 2, 0, -1, 2> >(Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 2, 0, -1, 2> >&);
-+
-+template void igl::barycenter<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Matrix<float, -1, 3, 0, -1, 3> >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::PlainObjectBase<Eigen::Matrix<float, -1, 3, 0, -1, 3> >&);
- #endif
-diff --git a/include/igl/point_simplex_squared_distance.cpp b/include/igl/point_simplex_squared_distance.cpp
-index 2b98bd28..c66d9ae1 100644
---- a/include/igl/point_simplex_squared_distance.cpp
-+++ b/include/igl/point_simplex_squared_distance.cpp
-@@ -178,4 +178,6 @@ template void igl::point_simplex_squared_distance<3, Eigen::Matrix<double, 1, 3,
- template void igl::point_simplex_squared_distance<3, Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, double, Eigen::Matrix<double, 1, 3, 1, 1, 3> >(Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<int, -1, -1, 0, -1, -1>::Index, double&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, 3, 1, 1, 1, 3> >&);
- template void igl::point_simplex_squared_distance<2, Eigen::Matrix<double, 1, 2, 1, 1, 2>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, double, Eigen::Matrix<double, 1, 2, 1, 1, 2> >(Eigen::MatrixBase<Eigen::Matrix<double, 1, 2, 1, 1, 2> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<int, -1, -1, 0, -1, -1>::Index, double&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 2, 1, 1, 2> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, 1, 2, 1, 1, 2> >&);
- template void igl::point_simplex_squared_distance<2, Eigen::Matrix<double, 1, 2, 1, 1, 2>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1>, double, Eigen::Matrix<double, 1, 2, 1, 1, 2> >(Eigen::MatrixBase<Eigen::Matrix<double, 1, 2, 1, 1, 2> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, Eigen::Matrix<int, -1, -1, 0, -1, -1>::Index, double&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 2, 1, 1, 2> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 1, 1, 1, 2> >&);
-+
-+template void igl::point_simplex_squared_distance<3, Eigen::Matrix<float, 1, 3, 1, 1, 3>, Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, float, Eigen::Matrix<float, 1, 3, 1, 1, 3> >(Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >::Index, float&, Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> >&);
- #endif
-diff --git a/include/igl/ray_box_intersect.cpp b/include/igl/ray_box_intersect.cpp
-index 4a88b89e..b547f8f8 100644
---- a/include/igl/ray_box_intersect.cpp
-+++ b/include/igl/ray_box_intersect.cpp
-@@ -147,4 +147,6 @@ IGL_INLINE bool igl::ray_box_intersect(
- #ifdef IGL_STATIC_LIBRARY
- // Explicit template instantiation
- template bool igl::ray_box_intersect<Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, 1, 3, 1, 1, 3>, double>(Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::AlignedBox<double, 3> const&, double const&, double const&, double&, double&);
-+
-+template bool igl::ray_box_intersect<Eigen::Matrix<float, 1, 3, 1, 1, 3>, Eigen::Matrix<float, 1, 3, 1, 1, 3>, float>(Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> > const&, Eigen::AlignedBox<float, 3> const&, float const&, float const&, float&, float&);
- #endif
-diff --git a/include/igl/ray_mesh_intersect.cpp b/include/igl/ray_mesh_intersect.cpp
-index 9a70a22b..4233e722 100644
---- a/include/igl/ray_mesh_intersect.cpp
-+++ b/include/igl/ray_mesh_intersect.cpp
-@@ -83,4 +83,7 @@ IGL_INLINE bool igl::ray_mesh_intersect(
- template bool igl::ray_mesh_intersect<Eigen::Matrix<float, 3, 1, 0, 3, 1>, Eigen::Matrix<float, 3, 1, 0, 3, 1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > const&, Eigen::MatrixBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, std::vector<igl::Hit, std::allocator<igl::Hit> >&);
- template bool igl::ray_mesh_intersect<Eigen::Matrix<float, 3, 1, 0, 3, 1>, Eigen::Matrix<float, 3, 1, 0, 3, 1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::MatrixBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > const&, Eigen::MatrixBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> > const&, igl::Hit&);
- template bool igl::ray_mesh_intersect<Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Block<Eigen::Matrix<int, -1, -1, 0, -1, -1> const, 1, -1, false> >(Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<int, -1, -1, 0, -1, -1> const, 1, -1, false> > const&, igl::Hit&);
-+template bool igl::ray_mesh_intersect<Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, 1, 3, 1, 1, 3>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Block<Eigen::Matrix<int, -1, -1, 0, -1, -1> const, 1, -1, false> >(Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<int, -1, -1, 0, -1, -1> const, 1, -1, false> > const&, std::vector<igl::Hit, std::allocator<igl::Hit> >&);
-+
-+template bool igl::ray_mesh_intersect<Eigen::Matrix<float, 1, 3, 1, 1, 3>, Eigen::Matrix<float, 1, 3, 1, 1, 3>, Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> >, Eigen::Block<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > const, 1, -1, true> >(Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Matrix<float, 1, 3, 1, 1, 3> > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase<Eigen::Block<Eigen::Map<Eigen::Matrix<int, -1, -1, 3, -1, -1> const, 0, Eigen::Stride<0, 0> > const, 1, -1, true> > const&, std::vector<igl::Hit, std::allocator<igl::Hit> >&);
- #endif