|
@@ -1,52 +1,22 @@
|
|
|
-cmake_minimum_required(VERSION 2.8.12)
|
|
|
+cmake_minimum_required(VERSION 3.1)
|
|
|
project(libigl)
|
|
|
|
|
|
-set (CMAKE_MODULE_PATH
|
|
|
-#${CMAKE_MODULE_PATH}
|
|
|
-"${PROJECT_SOURCE_DIR}/../shared/cmake")
|
|
|
+set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../shared/cmake")
|
|
|
+# These ensure that lib*.a are placed in the directory where `cmake
|
|
|
+# ../optional/` was issued.
|
|
|
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
|
|
-### Compilation flags: adapt to your needs ###
|
|
|
-if(MSVC)
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj /w") ### Enable parallel compilation
|
|
|
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} )
|
|
|
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} )
|
|
|
-else()
|
|
|
- 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 "../" )
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage")
|
|
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage")
|
|
|
-endif()
|
|
|
-
|
|
|
-
|
|
|
-option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
|
|
|
-
|
|
|
-
|
|
|
-option(LIBIGL_WITH_ANTTWEAKBAR "Use AntTweakBar" ON)
|
|
|
+### conditionally compile certain modules depending on libraries found on the system
|
|
|
+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../shared/cmake)
|
|
|
find_package(CGAL QUIET COMPONENTS Core)
|
|
|
-option(LIBIGL_WITH_CGAL "Use CGAL" "${CGAL_FOUND}")
|
|
|
-option(LIBIGL_WITH_COMISO "Use CoMiso" ON)
|
|
|
-### Cork is off by default since it fails to build out-of-the-box on windows
|
|
|
-option(LIBIGL_WITH_CORK "Use Cork" OFF)
|
|
|
-option(LIBIGL_WITH_EMBREE "Use Embree" ON)
|
|
|
-option(LIBIGL_WITH_LIM "Use LIM" ON)
|
|
|
find_package(MATLAB QUIET)
|
|
|
-option(LIBIGL_WITH_MATLAB "Use Matlab" "${MATLAB_FOUND}")
|
|
|
-find_package(MOSEK QUIET)
|
|
|
-option(LIBIGL_WITH_MOSEK "Use MOSEK" "${MOSEK_FOUND}")
|
|
|
-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)
|
|
|
+find_package(MOSEK)
|
|
|
+
|
|
|
+### libIGL options: choose between header only and compiled static library
|
|
|
+option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
|
|
|
|
|
|
-if(LIBIGL_WITH_CGAL) # Do not remove or move this block, cgal strange build system fails without it
|
|
|
- find_package(CGAL REQUIRED COMPONENTS Core)
|
|
|
- set(CGAL_DONT_OVERRIDE_CMAKE_FLAGS TRUE CACHE BOOL "CGAL's CMAKE Setup is super annoying ")
|
|
|
- include(${CGAL_USE_FILE})
|
|
|
-endif()
|
|
|
+### Adding libIGL: choose the path to your local copy libIGL
|
|
|
+include(libigl)
|
|
|
|
|
|
-# libigl*.a libraries should be built directly into libigl/lib/
|
|
|
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
|
|
-add_subdirectory("${PROJECT_SOURCE_DIR}/../shared/cmake" "libigl")
|