CMakeLists.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 2.6)
  2. project(libigl)
  3. ### Compilation flags: adapt to your needs ###
  4. if(MSVC)
  5. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj") ### Enable parallel compilation
  6. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} )
  7. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} )
  8. else()
  9. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11
  10. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" )
  11. endif()
  12. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
  13. ### libIGL options: choose between header only and compiled static library
  14. option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
  15. if(LIBIGL_USE_STATIC_LIBRARY)
  16. add_definitions(-DIGL_STATIC_LIBRARY)
  17. endif()
  18. ### libIGL options: decide if you want the nanogui bar in the viewer
  19. option(LIBIGL_WITH_VIEWER "Use Nanogui Viewer" OFF)
  20. if(LIBIGL_WITH_VIEWER)
  21. add_definitions(-DIGL_VIEWER_WITH_NANOGUI)
  22. endif()
  23. ### libIGL options: choose your dependencies (by default everything is OFF, in this example we need the viewer) ###
  24. option(LIBIGL_WITH_BBW "Use BBW" ON)
  25. option(LIBIGL_WITH_EMBREE "Use Embree" ON)
  26. option(LIBIGL_WITH_OPENGL "Use OpenGL" ON)
  27. option(LIBIGL_WITH_PNG "Use PNG" ON)
  28. option(LIBIGL_WITH_TETGEN "Use Tetgen" ON)
  29. option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON)
  30. option(LIBIGL_WITH_XML "Use XML" ON)
  31. ### Still need to be tested ----
  32. option(LIBIGL_WITH_LIM "Use LIM" OFF)
  33. option(LIBIGL_WITH_COMISO "Use CoMiso" OFF)
  34. option(LIBIGL_WITH_BOOLEAN "Use Cork boolean" OFF)
  35. option(LIBIGL_WITH_CGAL "Use CGAL" OFF)
  36. #option(LIBIGL_WITH_MATLAB "Use Matlab" OFF)
  37. #option(LIBIGL_WITH_MOSEK "Use MOSEK" OFF)
  38. ### END TESTING
  39. ### Adding libIGL: choose the path to your local copy libIGL ###
  40. ### This is going to compile everything you requested ###
  41. add_subdirectory("${PROJECT_SOURCE_DIR}/../cmake" "libigl")
  42. ### ligIGL information ###
  43. message("libIGL includes: ${LIBIGL_INCLUDE_DIRS}")
  44. message("libIGL libraries: ${LIBIGL_LIBRARIES}")
  45. message("libIGL extra sources: ${LIBIGL_EXTRA_SOURCES}")
  46. message("libIGL extra libraries: ${LIBIGL_EXTRA_LIBRARIES}")
  47. message("libIGL definitions: ${LIBIGL_DEFINITIONS}")