소스 검색

tutorials link now with static library for Visual Studio

Former-commit-id: 7c26de7e19dce5823973b7b02ea02c7d64c3b207
schuellc 10 년 전
부모
커밋
8daf2d3f38

+ 1 - 1
include/igl/ConjugateFFSolverData.h

@@ -206,7 +206,7 @@ precomputeInteriorEdges()
   // Flag border edges
   numInteriorEdges = 0;
   isBorderEdge.setZero(numE,1);
-  indFullToInterior = -1.*Eigen::VectorXi::Ones(numE,1);
+  indFullToInterior = -1*Eigen::VectorXi::Ones(numE,1);
 
   for(unsigned i=0; i<numE; ++i)
   {

+ 4 - 2
include/igl/colon.cpp

@@ -42,11 +42,13 @@ IGL_INLINE Eigen::Matrix<T,Eigen::Dynamic,1> igl::colon(
 #ifdef IGL_STATIC_LIBRARY
 // Explicit template specialization
 // generated by autoexplicit.sh
-template Eigen::Matrix<int, -1, 1, 0, -1, 1> igl::colon<int, int, int>(int, int);
+template Eigen::Matrix<int,-1,1,0,-1,1> igl::colon<int,int,int>(int, int);
+template Eigen::Matrix<int,-1,1,0,-1,1> igl::colon<int,int,long>(int,long);
+template Eigen::Matrix<int,-1,1,0,-1,1> igl::colon<int,int,long long int>(int,long long int);
 // generated by autoexplicit.sh
-template Eigen::Matrix<int, -1, 1, 0, -1, 1> igl::colon<int, int, long>(int, long);
 template void igl::colon<int, long, int, int>(int, long, int, Eigen::Matrix<int, -1, 1, 0, -1, 1>&);
 template void igl::colon<int, int, long, int>(int, int, long, Eigen::Matrix<int, -1, 1, 0, -1, 1>&);
 template void igl::colon<int, long, int>(int, long, Eigen::Matrix<int, -1, 1, 0, -1, 1>&);
 template void igl::colon<int, int, int>(int, int, Eigen::Matrix<int, -1, 1, 0, -1, 1>&);
+template void igl::colon<int,long long int,int>(int,long long int,Eigen::Matrix<int,-1,1,0,-1,1> &);
 #endif

+ 1 - 0
include/igl/fit_rotations.cpp

@@ -221,4 +221,5 @@ IGL_INLINE void igl::fit_rotations_AVX(
 template void igl::fit_rotations<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, bool, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&);
 template void igl::fit_rotations_planar<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&);
 template void igl::fit_rotations_planar<Eigen::Matrix<float, -1, -1, 0, -1, -1>, Eigen::Matrix<float, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> >&);
+template void igl::fit_rotations<Eigen::Matrix<float,-1,-1,0,-1,-1>,Eigen::Matrix<float,-1,-1,0,-1,-1> >(Eigen::PlainObjectBase<Eigen::Matrix<float,-1,-1,0,-1,-1> > const &,bool,Eigen::PlainObjectBase<Eigen::Matrix<float,-1,-1,0,-1,-1> > &);
 #endif

+ 1 - 0
include/igl/list_to_matrix.cpp

@@ -166,4 +166,5 @@ template bool igl::list_to_matrix<double, Eigen::PlainObjectBase<Eigen::Matrix<d
 template bool igl::list_to_matrix<double, Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1, 0, 4, 1> > >(std::vector<double, std::allocator<double> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1, 0, 4, 1> >&);
 template bool igl::list_to_matrix<double, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> > >(std::vector<double, std::allocator<double> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >&);
 template bool igl::list_to_matrix<int, Eigen::Matrix<int, -1, 2, 0, -1, 2> >(std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > const&, Eigen::Matrix<int, -1, 2, 0, -1, 2>&);
+template bool igl::list_to_matrix<unsigned long long int,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1> > >(std::vector<unsigned long long int,std::allocator<unsigned long long int> > const &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1> > &);
 #endif

+ 1 - 0
include/igl/polar_svd.cpp

@@ -70,4 +70,5 @@ template void igl::polar_svd<Eigen::Matrix<double, 2, 2, 0, 2, 2>, Eigen::Matrix
 template void igl::polar_svd<Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 3, 3, 0, 3, 3> >(Eigen::PlainObjectBase<Eigen::Matrix<double, 3, 3, 0, 3, 3> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, 3, 3, 0, 3, 3> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, 3, 3, 0, 3, 3> >&);
 template void igl::polar_svd<Eigen::Matrix<float, 2, 2, 0, 2, 2>, Eigen::Matrix<float, 2, 2, 0, 2, 2>, Eigen::Matrix<float, 2, 2, 0, 2, 2> >(Eigen::PlainObjectBase<Eigen::Matrix<float, 2, 2, 0, 2, 2> > const&, Eigen::PlainObjectBase<Eigen::Matrix<float, 2, 2, 0, 2, 2> >&, Eigen::PlainObjectBase<Eigen::Matrix<float, 2, 2, 0, 2, 2> >&);
 template void igl::polar_svd<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, 2, 2, 0, 2, 2>, Eigen::Matrix<double, 2, 2, 0, 2, 2> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 2, 0, 2, 2> >&, Eigen::PlainObjectBase<Eigen::Matrix<double, 2, 2, 0, 2, 2> >&);
+template void igl::polar_svd<Eigen::Matrix<float,3,3,0,3,3>,Eigen::Matrix<float,3,3,0,3,3>,Eigen::Matrix<float,3,3,0,3,3>,Eigen::Matrix<float,3,3,0,3,3>,Eigen::Matrix<float,3,1,0,3,1>,Eigen::Matrix<float,3,3,0,3,3> >(Eigen::PlainObjectBase<Eigen::Matrix<float,3,3,0,3,3> > const &,Eigen::PlainObjectBase<Eigen::Matrix<float,3,3,0,3,3> > &,Eigen::PlainObjectBase<Eigen::Matrix<float,3,3,0,3,3> > &,Eigen::PlainObjectBase<Eigen::Matrix<float,3,3,0,3,3> > &,Eigen::PlainObjectBase<Eigen::Matrix<float,3,1,0,3,1> > &,Eigen::PlainObjectBase<Eigen::Matrix<float,3,3,0,3,3> >&);
 #endif

+ 1 - 0
include/igl/polar_svd3x3.cpp

@@ -100,6 +100,7 @@ IGL_INLINE void igl::polar_svd3x3_avx(const Eigen::Matrix<T, 3*8, 3>& A, Eigen::
 #ifdef IGL_STATIC_LIBRARY
 // Explicit template instanciation
 template void igl::polar_svd3x3<Eigen::Matrix<double, 3, 3, 0, 3, 3> >(Eigen::Matrix<double, 3, 3, 0, 3, 3> const&, Eigen::Matrix<double, 3, 3, 0, 3, 3>&);
+template void igl::polar_svd3x3<Eigen::Matrix<float,3,3,0,3,3> >(Eigen::Matrix<float,3,3,0,3,3> const &,Eigen::Matrix<float,3,3,0,3,3> &);
 
 #ifdef __SSE__
 template void igl::polar_svd3x3_sse<float>(Eigen::Matrix<float, 12, 3, 0, 12, 3> const&, Eigen::Matrix<float, 12, 3, 0, 12, 3>&);

+ 5 - 4
include/igl/snap_to_canonical_view_quat.cpp

@@ -22,9 +22,9 @@
 // would be better.
 template <typename Q_type>
 IGL_INLINE bool igl::snap_to_canonical_view_quat(
-  const Q_type q[4],
+  const Q_type* q,
   const Q_type threshold,
-  Q_type s[4])
+  Q_type* s)
 {
   // Copy input into output
   // CANNOT use std::copy here according to:
@@ -108,7 +108,8 @@ IGL_INLINE bool igl::snap_to_canonical_view_quat(
 #ifdef IGL_STATIC_LIBRARY
 // Explicit template specialization
 // generated by autoexplicit.sh
-template bool igl::snap_to_canonical_view_quat<double>(double const*, double, double*);
+template bool igl::snap_to_canonical_view_quat<double>(const double*, double, double*);
 // generated by autoexplicit.sh
-template bool igl::snap_to_canonical_view_quat<float>(float const*, float, float*);
+template bool igl::snap_to_canonical_view_quat<float>(const float*, float, float*);
 #endif
+

+ 4 - 3
include/igl/snap_to_canonical_view_quat.h

@@ -24,11 +24,12 @@ namespace igl
   //   q  quaternion possibly set to nearest canonical view
   // Return:
   //   true only if q was snapped to the nearest canonical view
-template <typename Q_type>
+  template <typename Q_type>
   IGL_INLINE bool snap_to_canonical_view_quat(
-    const Q_type q[4],
+    const Q_type* q,
     const Q_type threshold,
-    Q_type s[4]);
+    Q_type* s);
+
   IGL_INLINE bool snap_to_canonical_view_quat(
     const Eigen::Quaterniond & q,
     const double threshold,

+ 1 - 0
include/igl/sort.cpp

@@ -214,6 +214,7 @@ IGL_INLINE void igl::sort(
 // Explicit template specialization
 // generated by autoexplicit.sh
 template void igl::sort<int>(std::vector<int, std::allocator<int> > const&, bool, std::vector<int, std::allocator<int> >&, std::vector<unsigned long, std::allocator<unsigned long> >&);
+template void igl::sort<int>(std::vector<int,std::allocator<int> > const &,bool,std::vector<int,std::allocator<int> > &,std::vector<unsigned long long int,class std::allocator<unsigned long long int> > &);
 // generated by autoexplicit.sh
 template void igl::sort<Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<double, -1, -1, 0, -1, -1>, Eigen::Matrix<int, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, int, bool, Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase<Eigen::Matrix<int, -1, -1, 0, -1, -1> >&);
 // generated by autoexplicit.sh

+ 7 - 3
include/igl/sparse.cpp

@@ -107,9 +107,13 @@ template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<dou
 template void igl::sparse<Eigen::Matrix<double, -1, -1, 0, -1, -1>, double>(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&, Eigen::SparseMatrix<double, 0, int>&);
 template Eigen::SparseMatrix<Eigen::Matrix<double, -1, -1, 0, -1, -1>::Scalar, 0, int> igl::sparse<Eigen::Matrix<double, -1, -1, 0, -1, -1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&);
 template Eigen::SparseMatrix<Eigen::Matrix<double, -1, 1, 0, -1, 1>::Scalar, 0, int> igl::sparse<Eigen::Matrix<double, -1, 1, 0, -1, 1> >(Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> > const&);
-//template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1, 0, -1, 1> >, double>(Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1, 0, -1, 1> > const&, unsigned long, unsigned long, Eigen::SparseMatrix<double, 0, int>&);
 template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1, 0, -1, 1> >, double>(Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, -1, 1, 0, -1, 1> > const&, Eigen::SparseMatrix<double, 0, int>&);
 template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, double>(Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::SparseMatrix<double, 0, int>&);
-//template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::complex<double> >(Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, unsigned long, unsigned long, Eigen::SparseMatrix<std::complex<double>, 0, int>&);
-template void igl::sparse<Eigen::Matrix<int, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::complex<double> >(Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, unsigned long, unsigned long, Eigen::SparseMatrix<std::complex<double>, 0, int>&);
+template void igl::sparse<Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<double,-1,1,0,-1,1>,std::complex<double> >(Eigen::Matrix<int,-1,1,0,-1,1> const &,Eigen::Matrix<int,-1,1,0,-1,1> const &,Eigen::Matrix<double,-1,1,0,-1,1> const &,unsigned long long int,unsigned long long int,Eigen::SparseMatrix<std::complex<double>,0,int> &);
+
+#ifndef _WIN32
+template void igl::sparse<Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>,Eigen::Matrix<double,-1,1,0,-1,1> >,double>(Eigen::Matrix<int,-1,1,0,-1,1> const&,Eigen::Matrix<int,-1,1,0,-1,1> const&,Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>,Eigen::Matrix<double,-1,1,0,-1,1> > const&,unsigned long,unsigned long,Eigen::SparseMatrix<double,0,int>&);
+template void igl::sparse<Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<double,-1,1,0,-1,1>,std::complex<double> >(Eigen::Matrix<int,-1,1,0,-1,1> const&,Eigen::Matrix<int,-1,1,0,-1,1> const&,Eigen::Matrix<double,-1,1,0,-1,1> const&,unsigned long,unsigned long,Eigen::SparseMatrix<std::complex<double>,0,int>&);
+#endif
+
 #endif

+ 1 - 0
include/igl/viewer/OpenGL_shader.h

@@ -17,6 +17,7 @@
 #  include <windows.h>
 #  undef max
 #  undef min
+#  undef DrawText
 #endif
 
 #ifndef __APPLE__

+ 1 - 1
include/igl/viewer/Viewer.cpp

@@ -674,7 +674,7 @@ namespace viewer
   IGL_INLINE void Viewer::snap_to_canonical_quaternion()
   {
     Eigen::Vector4f snapq = this->core.trackball_angle;
-    igl::snap_to_canonical_view_quat<float>(snapq.data(),1,this->core.trackball_angle.data());
+    igl::snap_to_canonical_view_quat(snapq.data(),1.0f,this->core.trackball_angle.data());
   }
 
   IGL_INLINE void Viewer::open_dialog_load_mesh()

+ 6 - 1
optional/CMakeLists.txt

@@ -147,8 +147,13 @@ else(YIMG_FOUND)
   message(STATUS "YIMG not found")
 endif(YIMG_FOUND)
 
+IF(MSVC)
+### Enable parallel compilation for Visual Studio
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
+ELSE(MSVC)
 #### Libigl requires a modern C++ compiler that supports c++11
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ENDIF(MSVC)
 
 #### Compile the core library that depends only on EIGEN ####
 include_directories( ${EIGEN_INCLUDE_DIR})

+ 9 - 1
tutorial/CMakeLists.shared

@@ -7,7 +7,15 @@ endmacro()
 remove_cxx_flag("-stdlib=libc++")
 if(NOT CMAKELISTS_SHARED_INCLUDED)
 set(CMAKELISTS_SHARED_INCLUDED TRUE)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+
+IF(MSVC)
+### Enable parallel compilation for Visual Studio
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
+ELSE(MSVC)
+#### Libigl requires a modern C++ compiler that supports c++11
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ENDIF(MSVC)
+
 find_package(OpenMP)
 if (OPENMP_FOUND AND NOT WIN32)
   set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")

+ 8 - 3
tutorial/CMakeLists.txt

@@ -6,11 +6,16 @@ message("Generated with config types: ${CMAKE_CONFIGURATION_TYPES}")
 SET(LIBIGL_USE_STATIC_LIBRARY 1)
 add_definitions(-DIGL_STATIC_LIBRARY)
 
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../)
 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+IF(MSVC)
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") ### Enable parallel compilation for Visual Studio
+  SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} )
+  SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} )
+ELSE(MSVC)
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11
+  SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" )
+ENDIF(MSVC)
 
 find_package(CORK QUIET)
 find_package(CGAL QUIET)

+ 11 - 7
tutorial/cmake/FindEMBREE.cmake

@@ -20,12 +20,14 @@ FIND_PATH(EMBREE_INCLUDE_DIR embree2/rtcore.h
 
 SET(SEARCH_PATHS "${EMBREE_INCLUDE_DIR}/../" "${EMBREE_INCLUDE_DIR}/../build" "${EMBREE_INCLUDE_DIR}/../lib")
 
-FIND_LIBRARY(EMBREE_CORE_LIBRARY  NAMES embree_sse42 PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY2 NAMES transport PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY3 NAMES image PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY4 NAMES lexers PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY5 NAMES embree PATHS ${SEARCH_PATHS} PATH_SUFFIXES dylib a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY6 NAMES sys PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY NAMES simd PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY3  NAMES embree_sse41 PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY4  NAMES embree_sse42 PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY5 NAMES transport PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY6 NAMES image PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY7 NAMES lexers PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY8 NAMES embree PATHS ${SEARCH_PATHS} PATH_SUFFIXES dylib a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY9 NAMES sys PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
 
 if(EMBREE_CORE_LIBRARY AND EMBREE_INCLUDE_DIR)
 set(EMBREE_FOUND TRUE)
@@ -36,11 +38,13 @@ IF (EMBREE_FOUND)
 
    SET(EMBREE_LIBRARIES
    "${EMBREE_CORE_LIBRARY}"
-   "${EMBREE_CORE_LIBRARY2}"
    "${EMBREE_CORE_LIBRARY3}"
    "${EMBREE_CORE_LIBRARY4}"
    "${EMBREE_CORE_LIBRARY5}"
    "${EMBREE_CORE_LIBRARY6}"
+   "${EMBREE_CORE_LIBRARY7}"
+   "${EMBREE_CORE_LIBRARY8}"
+   "${EMBREE_CORE_LIBRARY9}"
    )
    SET(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR} ${EMBREE_INCLUDE_DIR}/embree)
 ELSE (EMBREE_FOUND)

+ 4 - 0
tutorial/cmake/FindGLEW.cmake

@@ -8,6 +8,10 @@
 FIND_PATH(GLEW_INCLUDE_DIR GL/glew.h
    ${PROJECT_SOURCE_DIR}/../../external/glew/include
    ${PROJECT_SOURCE_DIR}/../external/glew/include
+   ${PROJECT_SOURCE_DIR}/../../../libigl/external/nanogui/ext/glew/include
+   ${PROJECT_SOURCE_DIR}/../../libigl/external/nanogui/ext/glew/include
+   ${PROJECT_SOURCE_DIR}/../libigl/external/nanogui/ext/glew/include
+   ${PROJECT_SOURCE_DIR}/libigl/external/nanogui/ext/glew/include
    /usr/include
    /usr/local/include
    $ENV{GLEWROOT}/include