core.cmake 896 B

1234567891011121314151617181920212223242526272829303132
  1. # 1. Define module
  2. igl_add_library(igl_core)
  3. if(LIBIGL_USE_STATIC_LIBRARY)
  4. set_target_properties(igl_core PROPERTIES OUTPUT_NAME igl)
  5. endif()
  6. # 2. Include headers
  7. include(GNUInstallDirs)
  8. target_include_directories(igl_core ${IGL_SCOPE}
  9. $<BUILD_INTERFACE:${libigl_SOURCE_DIR}/include>
  10. $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
  11. )
  12. # 3. Target sources
  13. file(GLOB INC_FILES "${libigl_SOURCE_DIR}/include/igl/*.h")
  14. file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/*.cpp")
  15. igl_target_sources(igl_core ${INC_FILES} ${SRC_FILES})
  16. # 4. Install target & headers
  17. igl_install(igl_core ${INC_FILES} ${SRC_FILES})
  18. # 5. Dependencies
  19. include(eigen)
  20. find_package(Threads REQUIRED)
  21. target_link_libraries(igl_core ${IGL_SCOPE}
  22. Eigen3::Eigen
  23. Threads::Threads
  24. )
  25. # 6. Unit tests
  26. file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/tests/include/igl/*.cpp")
  27. igl_add_test(igl_core ${SRC_FILES})