Преглед изворни кода

main cmake inclding only one igl

Former-commit-id: 5ee5360fa0f8f13fc39bbfb96f6700ff9ad8d0db
Teseo Schneider пре 6 година
родитељ
комит
0787113a1b
3 измењених фајлова са 34 додато и 3 уклоњено
  1. 0 1
      .gitignore
  2. 28 0
      CMakeLists.txt
  3. 6 2
      tutorial/CMakeLists.txt

+ 0 - 1
.gitignore

@@ -79,7 +79,6 @@ tutorial/*/Makefile
 external/glew/build
 external/glfw/build
 *buildXcode*
-tutorial/build*
 tutorial/*/*.mexmaci64
 external/libpng/build
 external/tinyxml2/build

+ 28 - 0
CMakeLists.txt

@@ -1,6 +1,30 @@
 cmake_minimum_required(VERSION 3.1)
 project(libigl)
 
+
+option(LIBIGL_BUILD_TESTS      "Build libigl unit test"        OFF)
+option(LIBIGL_BUILD_TUTORIALS  "Build libigl tutorial"         OFF)
+option(LIBIGL_BUILD_PYTHON     "Build libigl python bindings"  OFF)
+
+
+### Available options ###
+option(LIBIGL_USE_STATIC_LIBRARY     "Use libigl as static library" ON)
+option(LIBIGL_WITH_CGAL              "Use CGAL"           ON)
+option(LIBIGL_WITH_COMISO            "Use CoMiso"         ON)
+option(LIBIGL_WITH_CORK              "Use Cork"           OFF)
+option(LIBIGL_WITH_EMBREE            "Use Embree"         OFF)
+option(LIBIGL_WITH_MATLAB            "Use Matlab"         OFF)
+option(LIBIGL_WITH_MOSEK             "Use MOSEK"          OFF)
+option(LIBIGL_WITH_OPENGL            "Use OpenGL"         ${LIBIGL_BUILD_TUTORIALS})
+option(LIBIGL_WITH_OPENGL_GLFW       "Use GLFW"           ${LIBIGL_BUILD_TUTORIALS})
+option(LIBIGL_WITH_OPENGL_GLFW_IMGUI "Use ImGui"          ${LIBIGL_BUILD_TUTORIALS})
+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"  ${LIBIGL_BUILD_TUTORIALS})
+option(LIBIGL_WITH_XML               "Use XML"            ON)
+option(LIBIGL_WITH_PYTHON            "Use Python"         ${LIBIGL_BUILD_PYTHON})
+
 # These ensure that lib*.a are placed in the directory where `cmake
 # ../optional/` was issued.
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
@@ -14,3 +38,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
 include(libigl)
 
 
+if(LIBIGL_BUILD_TUTORIALS)
+	add_subdirectory(tutorial)
+endif()
+

+ 6 - 2
tutorial/CMakeLists.txt

@@ -24,7 +24,11 @@ option(LIBIGL_WITH_VIEWER            "Use OpenGL viewer" ON)
 
 
 ### Adding libIGL: choose the path to your local copy libIGL
-include(libigl)
+if(NOT TARGET igl_common)
+  include(libigl)
+else()
+  include(LibiglDownloadExternal)
+endif()
 
 ### Download data
 igl_download_tutorial_data()
@@ -47,7 +51,7 @@ option(TUTORIALS_CHAPTER6 "Compile chapter 6" ON)
 option(TUTORIALS_CHAPTER7 "Compile chapter 7" ON)
 
 # Store location of tutorial/shared directory
-set(TUTORIAL_SHARED_PATH ${IGL_TUTORIAL_DATA} CACHE PATH "location of shared tutorial resources")
+set(TUTORIAL_SHARED_PATH ${LIBIGL_EXTERNAL}/../tutorial/data CACHE PATH "location of shared tutorial resources")
 add_library(tutorials INTERFACE)
 target_compile_definitions(tutorials INTERFACE "-DTUTORIAL_SHARED_PATH=\"${TUTORIAL_SHARED_PATH}\"")
 target_include_directories(tutorials INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})