CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. cmake_minimum_required(VERSION 2.8.12)
  2. project(libigl)
  3. set (CMAKE_MODULE_PATH
  4. #${CMAKE_MODULE_PATH}
  5. "${PROJECT_SOURCE_DIR}/../shared/cmake")
  6. ### Compilation flags: adapt to your needs ###
  7. if(MSVC)
  8. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj /w") ### Enable parallel compilation
  9. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} )
  10. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} )
  11. else()
  12. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11
  13. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" )
  14. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage")
  15. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage")
  16. endif()
  17. option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
  18. option(LIBIGL_WITH_ANTTWEAKBAR "Use AntTweakBar" ON)
  19. find_package(CGAL QUIET)
  20. option(LIBIGL_WITH_CGAL "Use CGAL" "${CGAL_FOUND}")
  21. option(LIBIGL_WITH_COMISO "Use CoMiso" ON)
  22. ### Cork is off by default since it fails to build out-of-the-box on windows
  23. option(LIBIGL_WITH_CORK "Use Cork" OFF)
  24. option(LIBIGL_WITH_EMBREE "Use Embree" ON)
  25. option(LIBIGL_WITH_LIM "Use LIM" ON)
  26. find_package(MATLAB QUIET)
  27. option(LIBIGL_WITH_MATLAB "Use Matlab" "${MATLAB_FOUND}")
  28. find_package(MOSEK QUIET)
  29. option(LIBIGL_WITH_MOSEK "Use MOSEK" "${MOSEK_FOUND}")
  30. ### Nanogui is off by default because it has many dependencies and generates
  31. ### many issues
  32. option(LIBIGL_WITH_NANOGUI "Use Nanogui menu" OFF)
  33. option(LIBIGL_WITH_OPENGL "Use OpenGL" ON)
  34. option(LIBIGL_WITH_PNG "Use PNG" ON)
  35. option(LIBIGL_WITH_TETGEN "Use Tetgen" ON)
  36. option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON)
  37. option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" ON)
  38. option(LIBIGL_WITH_XML "Use XML" ON)
  39. if(LIBIGL_WITH_CGAL) # Do not remove or move this block, cgal strange build system fails without it
  40. find_package(CGAL REQUIRED)
  41. set(CGAL_DONT_OVERRIDE_CMAKE_FLAGS TRUE CACHE BOOL "CGAL's CMAKE Setup is super annoying ")
  42. include(${CGAL_USE_FILE})
  43. endif()
  44. # libigl*.a libraries should be built directly into libigl/lib/
  45. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
  46. add_subdirectory("${PROJECT_SOURCE_DIR}/../shared/cmake" "libigl")