CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. cmake_minimum_required(VERSION 3.1)
  2. project(libigl_tests)
  3. ### conditionally compile certain modules depending on libraries found on the system
  4. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake)
  5. ### Adding libIGL: choose the path to your local copy libIGL
  6. if(NOT TARGET igl_common)
  7. include(libigl)
  8. else()
  9. include(LibiglDownloadExternal)
  10. endif()
  11. ### Download data
  12. igl_download_test_data()
  13. set(IGL_TEST_DATA ${LIBIGL_EXTERNAL}/../tests/data)
  14. ### Download Google unit test framework.
  15. igl_download_googletest()
  16. SET(TEST_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR})
  17. INCLUDE_DIRECTORIES(${TEST_ROOT_DIR})
  18. # Set TEST_DIR definition
  19. ADD_DEFINITIONS(-DLIBIGL_DATA_DIR="${IGL_TEST_DATA}")
  20. # Add googletest googlemock support
  21. ENABLE_TESTING()
  22. ADD_SUBDIRECTORY(
  23. ${LIBIGL_EXTERNAL}/googletest/googlemock
  24. ${CMAKE_CURRENT_BINARY_DIR}/gtest)
  25. SET(GTEST_BOTH_LIBRARIES gtest gmock)
  26. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR})
  27. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR}/include)
  28. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR})
  29. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR}/include)
  30. # Process code in each subdirectories: add in decreasing order of complexity
  31. # (last added will run first and those should be the fastest tests)
  32. IF(LIBIGL_WITH_MOSEK)
  33. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/mosek)
  34. ENDIF()
  35. IF(LIBIGL_WITH_CGAL)
  36. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/boolean)
  37. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/cgal)
  38. ENDIF()
  39. IF(LIBIGL_WITH_TETGEN)
  40. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/tetgen)
  41. ENDIF()
  42. IF(LIBIGL_WITH_COMISO)
  43. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl/copyleft/comiso)
  44. ENDIF()
  45. ADD_SUBDIRECTORY(${TEST_ROOT_DIR}/include/igl)