CMakeLists.txt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. cmake_minimum_required(VERSION 3.1)
  2. project(libigl_tutorials)
  3. message(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}")
  4. message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
  5. ### conditionally compile certain modules depending on libraries found on the system
  6. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake)
  7. #find_package(CGAL QUIET COMPONENTS Core)
  8. find_package(MATLAB QUIET)
  9. find_package(MOSEK)
  10. ### libIGL options: choose between header only and compiled static library
  11. option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON)
  12. option(LIBIGL_WITH_EMBREE "Use Embree" OFF)
  13. ### libIGL options: choose your dependencies (by default everything is OFF, in this example we need the viewer)
  14. option(LIBIGL_USE_STATIC_LIBRARY "Use libigl as static library" ON)
  15. option(LIBIGL_WITH_CGAL "Use CGAL" OFF)
  16. option(LIBIGL_WITH_COMISO "Use CoMiso" OFF)
  17. option(LIBIGL_WITH_CORK "Use Cork" OFF)
  18. option(LIBIGL_WITH_EMBREE "Use Embree" OFF)
  19. option(LIBIGL_WITH_MATLAB "Use Matlab" OFF)
  20. option(LIBIGL_WITH_MOSEK "Use MOSEK" OFF)
  21. option(LIBIGL_WITH_OPENGL "Use OpenGL" OFF)
  22. option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" OFF)
  23. option(LIBIGL_WITH_OPENGL_GLFW_IMGUI "Use ImGui" OFF)
  24. option(LIBIGL_WITH_PNG "Use PNG" OFF)
  25. option(LIBIGL_WITH_TETGEN "Use Tetgen" OFF)
  26. option(LIBIGL_WITH_TRIANGLE "Use Triangle" OFF)
  27. option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" OFF)
  28. option(LIBIGL_WITH_XML "Use XML" OFF)
  29. option(LIBIGL_WITH_PYTHON "Use Python" OFF)
  30. ### End
  31. ### Adding libIGL: choose the path to your local copy libIGL
  32. include(libigl)
  33. ### Download data
  34. igl_download_test_data()
  35. set(IGL_TEST_DATA ${LIBIGL_EXTERNAL}/../tests/data)
  36. ### Download Google unit test framework.
  37. igl_download_googletest()
  38. SET(TEST_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR})
  39. INCLUDE_DIRECTORIES(${TEST_ROOT_DIR})
  40. # Set TEST_DIR definition
  41. ADD_DEFINITIONS(-DLIBIGL_DATA_DIR="${IGL_TEST_DATA}")
  42. # Add googletest googlemock support
  43. ENABLE_TESTING()
  44. ADD_SUBDIRECTORY(
  45. ${LIBIGL_EXTERNAL}/googletest/googlemock
  46. ${CMAKE_CURRENT_BINARY_DIR}/gtest)
  47. SET(GTEST_BOTH_LIBRARIES gtest gmock)
  48. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR})
  49. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR}/include)
  50. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR})
  51. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR}/include)
  52. # Process code in each subdirectories: add in decreasing order of complexity
  53. # (last added will run first and those should be the fastest tests)
  54. IF(LIBIGL_WITH_MOSEK)
  55. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/mosek)
  56. ENDIF()
  57. IF(LIBIGL_WITH_CGAL)
  58. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/boolean)
  59. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/cgal)
  60. ENDIF()
  61. IF(LIBIGL_WITH_TETGEN)
  62. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/tetgen)
  63. ENDIF()
  64. IF(LIBIGL_WITH_COMISO)
  65. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/comiso)
  66. ENDIF()
  67. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl)