Explorar o código

CMake: triangle, tetgen, png...

Former-commit-id: 3f332909c6cb2642d329953cf51b8502fa4ee720
Jérémie Dumas %!s(int64=7) %!d(string=hai) anos
pai
achega
45d4a8b1a6

+ 2 - 2
include/igl/png/readPNG.cpp

@@ -6,7 +6,7 @@
 // v. 2.0. If a copy of the MPL was not distributed with this file, You can
 // obtain one at http://mozilla.org/MPL/2.0/.
 #include "readPNG.h"
-#include <stb_image.h>
+#include <igl_stb_image.h>
 
 IGL_INLINE bool igl::png::readPNG(
   const std::string png_file,
@@ -36,7 +36,7 @@ IGL_INLINE bool igl::png::readPNG(
     }
   }
 
-  stbi_image_free(data);
+  igl::stbi_image_free(data);
 
   return true;
 }

+ 2 - 2
include/igl/png/render_to_png.cpp

@@ -6,7 +6,7 @@
 // v. 2.0. If a copy of the MPL was not distributed with this file, You can
 // obtain one at http://mozilla.org/MPL/2.0/.
 #include "render_to_png.h"
-#include <stb_image_write.h>
+#include <igl_stb_image.h>
 
 #include "../opengl/gl.h"
 
@@ -35,7 +35,7 @@ IGL_INLINE bool igl::png::render_to_png(
       data[4*(i+j*width)+3] = 255;
     }
   }
-  bool ret = stbi_write_png(png_file.c_str(), width, height, 4, data, 4*width*sizeof(unsigned char));
+  bool ret = igl::stbi_write_png(png_file.c_str(), width, height, 4, data, 4*width*sizeof(unsigned char));
   delete [] data;
   return ret;
 }

+ 2 - 2
include/igl/png/render_to_png_async.cpp

@@ -7,7 +7,7 @@
 // obtain one at http://mozilla.org/MPL/2.0/.
 #include "render_to_png_async.h"
 #include "../opengl/gl.h"
-#include <stb_image_write.h>
+#include <igl_stb_image.h>
 
 static IGL_INLINE bool render_to_png_async_helper(
   unsigned char * img, int width, int height,
@@ -25,7 +25,7 @@ static IGL_INLINE bool render_to_png_async_helper(
     }
   }
 
-  bool ret = stbi_write_png(png_file.c_str(), width, height, 4, img, width*sizeof(unsigned char));
+  bool ret = igl::stbi_write_png(png_file.c_str(), width, height, 4, img, width*sizeof(unsigned char));
   delete [] img;
   return ret;
 }

+ 6 - 6
include/igl/png/texture_from_png.cpp

@@ -8,12 +8,12 @@
 #include "texture_from_png.h"
 
 #include "../opengl/report_gl_error.h"
-#include <stb_image.h>
+#include <igl_stb_image.h>
 
 IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const bool flip, GLuint & id)
 {
   int width,height,n;
-  unsigned char *data = stbi_load(png_file.c_str(), &width, &height, &n, 4);
+  unsigned char *data = igl::stbi_load(png_file.c_str(), &width, &height, &n, 4);
   if(data == NULL) {
     return false;
   }
@@ -23,7 +23,7 @@ IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const boo
   {
     yimg.flip();
   }*/
-  
+
   glGenTextures(1, &id);
   glBindTexture(GL_TEXTURE_2D, id);
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -35,7 +35,7 @@ IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const boo
     width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
   glBindTexture(GL_TEXTURE_2D, 0);
 
-  stbi_image_free(data);
+  igl::stbi_image_free(data);
 
   return true;
 }
@@ -55,7 +55,7 @@ IGL_INLINE bool igl::png::texture_from_png(
 )
 {
   int width,height,n;
-  unsigned char *data = stbi_load(png_file.c_str(), &width, &height, &n, 4);
+  unsigned char *data = igl::stbi_load(png_file.c_str(), &width, &height, &n, 4);
   if(data == NULL) {
     return false;
   }
@@ -77,7 +77,7 @@ IGL_INLINE bool igl::png::texture_from_png(
     }
   }
 
-  stbi_image_free(data);
+  igl::stbi_image_free(data);
 
   return true;
 }

+ 2 - 2
include/igl/png/writePNG.cpp

@@ -6,7 +6,7 @@
 // v. 2.0. If a copy of the MPL was not distributed with this file, You can
 // obtain one at http://mozilla.org/MPL/2.0/.
 #include "writePNG.h"
-#include <stb_image_write.h>
+#include <igl_stb_image.h>
 #include <vector>
 
 IGL_INLINE bool igl::png::writePNG(
@@ -35,7 +35,7 @@ IGL_INLINE bool igl::png::writePNG(
     }
   }
 
-  stbi_write_png(png_file.c_str(), R.rows(), R.cols(), comp, data.data(), stride_in_bytes);
+  igl::stbi_write_png(png_file.c_str(), R.rows(), R.cols(), comp, data.data(), stride_in_bytes);
 
   return true;
 }

+ 101 - 115
shared/cmake/libigl.cmake

@@ -2,39 +2,28 @@ cmake_minimum_required(VERSION 3.1)
 
 ### Available options ###
 option(LIBIGL_USE_STATIC_LIBRARY    "Use libigl as static library" OFF)
-option(LIBIGL_WITH_ANTTWEAKBAR      "Use AntTweakBar"    OFF)
-option(LIBIGL_WITH_CGAL             "Use CGAL"           OFF)
-option(LIBIGL_WITH_COMISO           "Use CoMiso"         OFF)
-option(LIBIGL_WITH_CORK             "Use Cork"           OFF)
-option(LIBIGL_WITH_EMBREE           "Use Embree"         OFF)
-option(LIBIGL_WITH_LIM              "Use LIM"            OFF)
-option(LIBIGL_WITH_MATLAB           "Use Matlab"         OFF)
-option(LIBIGL_WITH_MOSEK            "Use MOSEK"          OFF)
+option(LIBIGL_WITH_ANTTWEAKBAR      "Use AntTweakBar"    ON)
+option(LIBIGL_WITH_CGAL             "Use CGAL"           ON)
+option(LIBIGL_WITH_COMISO           "Use CoMiso"         ON)
+option(LIBIGL_WITH_CORK             "Use Cork"           ON)
+option(LIBIGL_WITH_EMBREE           "Use Embree"         ON)
+option(LIBIGL_WITH_LIM              "Use LIM"            ON)
+option(LIBIGL_WITH_MATLAB           "Use Matlab"         ON)
+option(LIBIGL_WITH_MOSEK            "Use MOSEK"          ON)
 option(LIBIGL_WITH_NANOGUI          "Use Nanogui menu"   OFF)
-option(LIBIGL_WITH_OPENGL           "Use OpenGL"         OFF)
-option(LIBIGL_WITH_OPENGL_GLFW      "Use GLFW"           OFF)
-option(LIBIGL_WITH_PNG              "Use PNG"            OFF)
-option(LIBIGL_WITH_TETGEN           "Use Tetgen"         OFF)
-option(LIBIGL_WITH_TRIANGLE         "Use Triangle"       OFF)
-option(LIBIGL_WITH_VIEWER           "Use OpenGL viewer"  OFF)
-option(LIBIGL_WITH_XML              "Use XML"            OFF)
+option(LIBIGL_WITH_OPENGL           "Use OpenGL"         ON)
+option(LIBIGL_WITH_OPENGL_GLFW      "Use GLFW"           ON)
+option(LIBIGL_WITH_PNG              "Use PNG"            ON)
+option(LIBIGL_WITH_TETGEN           "Use Tetgen"         ON)
+option(LIBIGL_WITH_TRIANGLE         "Use Triangle"       ON)
+option(LIBIGL_WITH_VIEWER           "Use OpenGL viewer"  ON)
+option(LIBIGL_WITH_XML              "Use XML"            ON)
 option(LIBIGL_WITH_PYTHON           "Use Python"         OFF)
 
 if(LIBIGL_WITH_VIEWER AND (NOT LIBIGL_WITH_OPENGL_GLFW OR NOT LIBIGL_WITH_OPENGL) )
   message(FATAL_ERROR "LIBIGL_WITH_VIEWER=ON requires LIBIGL_WITH_OPENGL_GLFW=ON and LIBIGL_WITH_OPENGL=ON")
 endif()
 
-### Compilation configuration ###
-function(set_compilation_flags target_name)
-  if(MSVC)
-    ### Enable parallel compilation for Visual Studio
-    target_compile_options(${target_name} PRIVATE /MP /bigobj)
-    #target_compile_options(${target_name} PRIVATE /w) # disable all warnings (not ideal but...)
-  else()
-    #target_compile_options(${target_name} PRIVATE -w) # disable all warnings (not ideal but...)
-  endif()
-endfunction()
-
 ################################################################################
 
 ### Configuration
@@ -66,9 +55,15 @@ endif()
 include(CXXFeatures)
 target_compile_features(igl_common INTERFACE ${CXX11_FEATURES})
 
+# Other compilation flags
+if(MSVC)
+  # Enable parallel compilation for Visual Studio
+  target_compile_options(igl_common INTERFACE /MP /bigobj)
+endif()
+
 if(BUILD_SHARED_LIBS)
   # Generate position independent code
-  set_target_properties(igl_${module_name} PROPERTIES INTERFACE_POSITION_INDEPENDENT_CODE ON)
+  set_target_properties(igl_common PROPERTIES INTERFACE_POSITION_INDEPENDENT_CODE ON)
 endif()
 
 # Eigen
@@ -88,8 +83,6 @@ function(compile_igl_module module_dir prefix)
       "${LIBIGL_SOURCE_DIR}/igl/${prefix}/${module_dir}/*.cpp")
     add_library(igl_${module_name} STATIC ${SOURCES_IGL_${module_name}} ${ARGN})
     target_link_libraries(igl_${module_name} PUBLIC igl_common)
-    set_compilation_flags(igl_${module_name})
-
   else()
     add_library(igl_${module_name} INTERFACE)
     target_link_libraries(igl_${module_name} INTERFACE igl_common)
@@ -172,10 +165,14 @@ compile_igl_module("core" "" ${SOURCES_IGL})
 if(LIBIGL_WITH_CGAL)
   # CGAL Core is needed for
   # `Exact_predicates_exact_constructions_kernel_with_sqrt`
-  compile_igl_module("cgal" "copyleft/")
-  find_package(CGAL REQUIRED COMPONENTS Core)
-  find_package(Boost 1.48 REQUIRED thread system)
-  target_link_libraries(igl_cgal ${IGL_SCOPE} CGAL::CGAL CGAL::CGAL_Core ${Boost_LIBRARIES})
+  find_package(CGAL COMPONENTS Core)
+  if(CGAL_FOUND)
+    compile_igl_module("cgal" "copyleft/")
+    find_package(Boost 1.48 REQUIRED thread system)
+    target_link_libraries(igl_cgal ${IGL_SCOPE} CGAL::CGAL CGAL::CGAL_Core ${Boost_LIBRARIES})
+  else()
+    set(LIBIGL_WITH_CGAL OFF CACHE BOOL "" FORCE)
+  endif()
 endif()
 
 ################################################################################
@@ -285,27 +282,31 @@ endif()
 ################################################################################
 ### Compile the mosek part ###
 if(LIBIGL_WITH_MOSEK)
-  find_package(MOSEK REQUIRED)
-  compile_igl_module("mosek" "")
-  target_link_libraries(igl_mosek ${IGL_SCOPE} ${MOSEK_LIBRARIES})
-  target_include_directories(igl_mosek ${IGL_SCOPE} ${MOSEK_INCLUDE_DIRS})
-  target_compile_definitions(igl_mosek ${IGL_SCOPE} -DLIBIGL_WITH_MOSEK)
+  find_package(MOSEK)
+  if(MOSEK_FOUND)
+    compile_igl_module("mosek" "")
+    target_link_libraries(igl_mosek ${IGL_SCOPE} ${MOSEK_LIBRARIES})
+    target_include_directories(igl_mosek ${IGL_SCOPE} ${MOSEK_INCLUDE_DIRS})
+    target_compile_definitions(igl_mosek ${IGL_SCOPE} -DLIBIGL_WITH_MOSEK)
+  else()
+    set(LIBIGL_WITH_MOSEK OFF CACHE BOOL "" FORCE)
+  endif()
 endif()
 
 ################################################################################
 ### Compile the opengl parts ###
 
 if(LIBIGL_WITH_OPENGL)
+  # OpenGL modules
+  find_package(OpenGL REQUIRED)
   compile_igl_module("opengl" "")
   compile_igl_module("opengl2" "")
-
-  find_package(OpenGL REQUIRED)
   target_link_libraries(igl_opengl ${IGL_SCOPE} ${OPENGL_gl_LIBRARY})
   target_link_libraries(igl_opengl2 ${IGL_SCOPE} ${OPENGL_gl_LIBRARY})
   target_include_directories(igl_opengl SYSTEM ${IGL_SCOPE} ${OPENGL_INCLUDE_DIR})
   target_include_directories(igl_opengl2 SYSTEM ${IGL_SCOPE} ${OPENGL_INCLUDE_DIR})
 
-  ### GLEW for linux and windows
+  # GLEW for linux and windows
   if(NOT TARGET glew)
     add_library(glew STATIC ${NANOGUI_DIR}/ext/glew/src/glew.c)
     target_include_directories(glew SYSTEM PUBLIC ${NANOGUI_DIR}/ext/glew/include)
@@ -314,8 +315,23 @@ if(LIBIGL_WITH_OPENGL)
   target_link_libraries(igl_opengl ${IGL_SCOPE} glew)
   target_link_libraries(igl_opengl2 ${IGL_SCOPE} glew)
 
+  # Nanogui
+  if(LIBIGL_WITH_NANOGUI)
+    if(LIBIGL_WITH_PYTHON)
+      set(NANOGUI_BUILD_PYTHON ON CACHE BOOL " " FORCE)
+    else()
+      set(NANOGUI_BUILD_PYTHON OFF CACHE BOOL " " FORCE)
+    endif()
+    set(NANOGUI_BUILD_EXAMPLE OFF CACHE BOOL " " FORCE)
+    set(NANOGUI_BUILD_SHARED  OFF CACHE BOOL " " FORCE)
+    add_subdirectory(${NANOGUI_DIR} nanogui)
+    target_include_directories(nanogui PUBLIC
+      "${NANOGUI_DIR}/include"
+      "${NANOGUI_DIR}/ext/nanovg/src")
+  endif()
+
+  # GLFW module
   if(LIBIGL_WITH_OPENGL_GLFW)
-    # GLFW
     compile_igl_module("opengl/glfw" "")
     if(NOT TARGET glfw)
       set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE)
@@ -326,99 +342,69 @@ if(LIBIGL_WITH_OPENGL)
       target_include_directories(glfw ${IGL_SCOPE} ${NANOGUI_DIR}/ext/glfw/include)
     endif()
     target_link_libraries(igl_opengl_glfw ${IGL_SCOPE} igl_opengl glfw)
+  endif()
 
-    ### Compile the viewer
-    if(LIBIGL_WITH_VIEWER)
-      compile_igl_module("viewer" "")
-      target_link_libraries(igl_viewer ${IGL_SCOPE} igl_core glfw glew ${OPENGL_gl_LIBRARY})
-      target_include_directories(igl_opengl2 SYSTEM ${IGL_SCOPE} ${OPENGL_INCLUDE_DIR})
-
-      if(LIBIGL_WITH_NANOGUI)
-        target_compile_definitions(igl_viewer PUBLIC -DIGL_VIEWER_WITH_NANOGUI)
-        if(LIBIGL_WITH_PYTHON)
-          set(NANOGUI_BUILD_PYTHON ON CACHE BOOL " " FORCE)
-        else()
-          set(NANOGUI_BUILD_PYTHON OFF CACHE BOOL " " FORCE)
-        endif()
-        set(NANOGUI_BUILD_EXAMPLE OFF CACHE BOOL " " FORCE)
-        set(NANOGUI_BUILD_SHARED  OFF CACHE BOOL " " FORCE)
-        add_subdirectory(${NANOGUI_DIR} nanogui)
-        target_link_libraries(igl_viewer ${IGL_SCOPE} nanogui)
-      endif()
+  # Viewer module
+  if(LIBIGL_WITH_VIEWER)
+    compile_igl_module("viewer" "")
+    target_link_libraries(igl_viewer ${IGL_SCOPE} igl_core glfw glew ${OPENGL_gl_LIBRARY})
+    target_include_directories(igl_viewer SYSTEM ${IGL_SCOPE} ${OPENGL_INCLUDE_DIR})
+    if(TARGET nanogui)
+      target_link_libraries(igl_viewer ${IGL_SCOPE} nanogui)
+      target_compile_definitions(igl_viewer ${IGL_SCOPE} -DIGL_VIEWER_WITH_NANOGUI)
     endif()
-
   endif()
 
 endif()
 
 ################################################################################
 ### Compile the png parts ###
-# if(LIBIGL_WITH_PNG)
-#   if(LIBIGL_WITH_NANOGUI)
-#     set(STBI_LOAD OFF CACHE BOOL " " FORCE)
-#   endif()
-#   set(STB_IMAGE_DIR "${LIBIGL_EXTERNAL}/stb_image")
-#   add_subdirectory("${STB_IMAGE_DIR}" "stb_image")
-#   list(APPEND LIBIGL_INCLUDE_DIRS ${STB_IMAGE_DIR})
-#   list(APPEND LIBIGL_PNG_EXTRA_LIBRARIES "stb_image")
-#   list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_PNG_EXTRA_LIBRARIES})
-#   if(LIBIGL_USE_STATIC_LIBRARY)
-#     compile_igl_module("png" "")
-#     target_include_directories(igl_png PRIVATE ${STB_IMAGE_DIR})
-#     if(NOT APPLE)
-#       target_include_directories(igl_png PRIVATE "${NANOGUI_DIR}/ext/glew/include")
-#     endif()
-#   endif()
-# endif()
+if(LIBIGL_WITH_PNG)
+  set(STB_IMAGE_DIR "${LIBIGL_EXTERNAL}/stb_image")
+  if(NOT TARGET stb_image)
+    add_subdirectory("${STB_IMAGE_DIR}" "stb_image")
+  endif()
+  compile_igl_module("png" "")
+  target_link_libraries(igl_png ${IGL_SCOPE} igl_stb_image)
+endif()
 
 ################################################################################
 ### Compile the tetgen part ###
-# if(LIBIGL_WITH_TETGEN)
-#   set(TETGEN_DIR "${LIBIGL_EXTERNAL}/tetgen")
-#   add_subdirectory("${TETGEN_DIR}" "tetgen")
-#   list(APPEND LIBIGL_INCLUDE_DIRS ${TETGEN_DIR})
-#   list(APPEND LIBIGL_TETGEN_EXTRA_LIBRARIES "tetgen")
-#   list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_TETGEN_EXTRA_LIBRARIES})
-
-#   if(LIBIGL_USE_STATIC_LIBRARY)
-#     compile_igl_module("tetgen" "copyleft/")
-#     target_include_directories(igl_tetgen PRIVATE ${TETGEN_DIR})
-#   endif()
-# endif()
+if(LIBIGL_WITH_TETGEN)
+  set(TETGEN_DIR "${LIBIGL_EXTERNAL}/tetgen")
+  if(NOT TARGET tetgen)
+    add_subdirectory("${TETGEN_DIR}" "tetgen")
+  endif()
+  compile_igl_module("tetgen" "copyleft/")
+  target_link_libraries(igl_tetgen ${IGL_SCOPE} tetgen)
+  target_include_directories(igl_tetgen ${IGL_SCOPE} ${TETGEN_DIR})
+endif()
 
 ################################################################################
 ### Compile the triangle part ###
-# if(LIBIGL_WITH_TRIANGLE)
-#   set(TRIANGLE_DIR "${LIBIGL_EXTERNAL}/triangle")
-#   add_subdirectory("${TRIANGLE_DIR}" "triangle")
-#   list(APPEND LIBIGL_INCLUDE_DIRS ${TRIANGLE_DIR})
-#   list(APPEND LIBIGL_TRIANGLE_EXTRA_LIBRARIES "triangle")
-#   list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_TRIANGLE_EXTRA_LIBRARIES})
-
-#   if(LIBIGL_USE_STATIC_LIBRARY)
-#     compile_igl_module("triangle" "")
-#     target_include_directories(igl_triangle PRIVATE ${TRIANGLE_DIR})
-#   endif()
-# endif()
+if(LIBIGL_WITH_TRIANGLE)
+  set(TRIANGLE_DIR "${LIBIGL_EXTERNAL}/triangle")
+  if(NOT TARGET triangle)
+    add_subdirectory("${TRIANGLE_DIR}" "triangle")
+  endif()
+  compile_igl_module("triangle" "")
+  target_link_libraries(igl_triangle ${IGL_SCOPE} triangle)
+  target_include_directories(igl_triangle ${IGL_SCOPE} ${TRIANGLE_DIR})
+endif()
 
 ################################################################################
 ### Compile the xml part ###
 if(LIBIGL_WITH_XML)
   set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2")
-  add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h)
-  target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR})
-  set_target_properties(tinyxml2 PROPERTIES
-          COMPILE_DEFINITIONS "TINYXML2_EXPORT"
-          VERSION "3.0.0"
-          SOVERSION "3")
+  if(NOT TARGET tinyxml2)
+    add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h)
+    target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR})
+    set_target_properties(tinyxml2 PROPERTIES
+            COMPILE_DEFINITIONS "TINYXML2_EXPORT"
+            VERSION "3.0.0"
+            SOVERSION "3")
+  endif()
   compile_igl_module("xml" "")
   target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2)
 endif()
 
-# Function to print list nicely
-# function(print_list title list)
-#   message("-- ${title}:")
-#   foreach(elt ${list})
-#     message("\t ${elt}")
-#   endforeach()
-# endfunction()

+ 3 - 3
tutorial/601_Serialization/main.cpp

@@ -55,7 +55,7 @@ struct State : public igl::Serializable
 //}
 //
 ////OR:
-// 
+//
 //SERIALIZE_TYPE(State,
 // SERIALIZE_MEMBER(V)
 //  SERIALIZE_MEMBER(F)
@@ -102,9 +102,9 @@ int main(int argc, char *argv[])
   std::cout << "Faces:    " << std::endl << stateOut.F << std::endl;
   std::cout << "ids:      " << std::endl
             << stateOut.ids[0] << " " << stateOut.ids[1] << std::endl;
-			
+
   // XML serialization
-  
+
   // binary = false, overwrite = true
   igl::xml::serialize_xml(vec,"VectorXML",xmlFile,false,true);
   // binary = true, overwrite = false

+ 1 - 3
tutorial/604_Triangle/CMakeLists.txt

@@ -2,6 +2,4 @@ cmake_minimum_required(VERSION 2.8.12)
 project(604_Triangle)
 
 add_executable(${PROJECT_NAME}_bin main.cpp)
-target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS})
-target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS})
-target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_TRIANGLE_EXTRA_LIBRARIES})
+target_link_libraries(${PROJECT_NAME}_bin igl::core igl::viewer igl::triangle tutorials)

+ 1 - 3
tutorial/605_Tetgen/CMakeLists.txt

@@ -2,6 +2,4 @@ cmake_minimum_required(VERSION 2.8.12)
 project(605_Tetgen)
 
 add_executable(${PROJECT_NAME}_bin main.cpp)
-target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS})
-target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS})
-target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_TETGEN_EXTRA_LIBRARIES})
+target_link_libraries(${PROJECT_NAME}_bin igl::core igl::viewer igl::tetgen tutorials)

+ 1 - 3
tutorial/607_ScreenCapture/CMakeLists.txt

@@ -2,6 +2,4 @@ cmake_minimum_required(VERSION 2.8.12)
 project(607_ScreenCapture)
 
 add_executable(${PROJECT_NAME}_bin main.cpp)
-target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS})
-target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS})
-target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_PNG_EXTRA_LIBRARIES})
+target_link_libraries(${PROJECT_NAME}_bin igl::core igl::viewer igl::png tutorials)

+ 10 - 19
tutorial/CMakeLists.txt

@@ -12,22 +12,13 @@ find_package(MOSEK)
 ### libIGL options: choose between header only and compiled static library
 option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
 option(LIBIGL_WITH_VIEWER      "Use OpenGL viewer"  ON)
-option(LIBIGL_WITH_NANOGUI     "Use Nanogui menu"   OFF)
+option(LIBIGL_WITH_NANOGUI     "Use Nanogui menu"   ON)
 
 ### libIGL options: choose your dependencies (by default everything is OFF, in this example we need the viewer)
 option(LIBIGL_WITH_CGAL             "Use CGAL"           "${CGAL_FOUND}")
-option(LIBIGL_WITH_COMISO           "Use CoMiso"         ON)
 option(LIBIGL_WITH_CORK             "Use CORK"           OFF)
-option(LIBIGL_WITH_EMBREE           "Use Embree"         ON)
-option(LIBIGL_WITH_LIM              "Use LIM"            ON)
 option(LIBIGL_WITH_MATLAB           "Use Matlab"         "${MATLAB_FOUND}")
 option(LIBIGL_WITH_MOSEK            "Use MOSEK"          "${MOSEK_FOUND}")
-option(LIBIGL_WITH_OPENGL           "Use OpenGL"         ON)
-option(LIBIGL_WITH_OPENGL_GLFW      "Use OpenGL GLFW"    ON)
-option(LIBIGL_WITH_PNG              "Use PNG"            ON)
-option(LIBIGL_WITH_TETGEN           "Use Tetgen"         ON)
-option(LIBIGL_WITH_TRIANGLE         "Use Triangle"       ON)
-option(LIBIGL_WITH_XML              "Use XML"            ON)
 ### End
 
 ### Adding libIGL: choose the path to your local copy libIGL
@@ -121,18 +112,18 @@ if(TUTORIALS_CHAPTER6)
   # if(LIBIGL_WITH_MATLAB)
   #   add_subdirectory("602_Matlab")
   # endif()
-  # if(LIBIGL_WITH_TRIANGLE)
-  #   add_subdirectory("604_Triangle")
-  # endif()
-  # if(LIBIGL_WITH_TETGEN)
-  #   add_subdirectory("605_Tetgen")
-  # endif()
+  if(LIBIGL_WITH_TRIANGLE)
+    add_subdirectory("604_Triangle")
+  endif()
+  if(LIBIGL_WITH_TETGEN)
+    add_subdirectory("605_Tetgen")
+  endif()
   # if(LIBIGL_WITH_EMBREE)
   #   add_subdirectory("606_AmbientOcclusion")
   # endif()
-  # if(LIBIGL_WITH_PNG)
-  #   add_subdirectory("607_ScreenCapture")
-  # endif()
+  if(LIBIGL_WITH_PNG)
+    add_subdirectory("607_ScreenCapture")
+  endif()
   # if(LIBIGL_WITH_LIM)
   #   add_subdirectory("608_LIM")
   # endif()