Browse Source

[BUG FIX]: broken optional static library build

Former-commit-id: 97db946de7dadf78ff3c8c0da1948073cff3ffe7
Alec Jacobson 7 years ago
parent
commit
f6381c1618
1 changed files with 15 additions and 45 deletions
  1. 15 45
      optional/CMakeLists.txt

+ 15 - 45
optional/CMakeLists.txt

@@ -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")