comiso.cmake 979 B

12345678910111213141516171819202122232425262728293031
  1. if(TARGET CoMISo::CoMISo)
  2. return()
  3. endif()
  4. message(STATUS "Third-party: creating target 'CoMISo::CoMISo'")
  5. include(FetchContent)
  6. FetchContent_Declare(
  7. comiso
  8. GIT_REPOSITORY https://github.com/libigl/CoMISo.git
  9. GIT_TAG 536440e714f412e7ef6c0b96b90ba37b1531bb39
  10. )
  11. include(eigen)
  12. FetchContent_MakeAvailable(comiso)
  13. add_library(CoMISo::CoMISo ALIAS CoMISo)
  14. # Copy .hh headers into a subfolder `CoMISo/`
  15. file(GLOB_RECURSE INC_FILES "${comiso_SOURCE_DIR}/*.hh" "${comiso_SOURCE_DIR}/*.cc")
  16. set(output_folder "${CMAKE_CURRENT_BINARY_DIR}/CoMISo/include/CoMISo")
  17. message(VERBOSE "Copying CoMISo headers to '${output_folder}'")
  18. foreach(filepath IN ITEMS ${INC_FILES})
  19. file(RELATIVE_PATH filename "${comiso_SOURCE_DIR}" ${filepath})
  20. configure_file(${filepath} "${output_folder}/${filename}" COPYONLY)
  21. endforeach()
  22. target_include_directories(CoMISo PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/CoMISo/include)
  23. set_target_properties(CoMISo PROPERTIES FOLDER ThirdParty)