3D EM based on Schur decomposition
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # Configure EMSchur3D
  2. set(EMSCHUR3D_VERSION_MAJOR "0")
  3. set(EMSCHUR3D_VERSION_MINOR "0")
  4. set(EMSCHUR3D_VERSION_PATCH "1")
  5. set(EMSCHUR3D_VERSION "\"${EMSCHUR3D_VERSION_MAJOR}.${EMSCHUR3D_VERSION_MINOR}.${EMSCHUR3D_VERSION_PATCH}\"")
  6. set(EMSCHUR3D_VERSION_NOQUOTES "${EMSCHUR3D_VERSION_MAJOR}.${EMSCHUR3D_VERSION_MINOR}.${EMSCHUR3D_VERSION_PATCH}")
  7. option ( LEMMA_MODULE_EMSCHUR3D TRUE )
  8. if ( LEMMA_VTK6_SUPPORT OR LEMMA_VTK7_SUPPORT OR LEMMA_VTK8_SUPPORT AND LEMMA_MODULE_EMSCHUR3D )
  9. configure_file (
  10. "${CMAKE_CURRENT_SOURCE_DIR}/config/EMSchur3DConfig.h.in"
  11. "${PROJECT_BINARY_DIR}/include/EMSchur3DConfig.h"
  12. )
  13. install ( FILES ${PROJECT_BINARY_DIR}/include/EMSchur3DConfig.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/Lemma/ )
  14. add_subdirectory("src")
  15. add_library( emschur3d ${EMSCHUR3DSOURCE} )
  16. target_include_directories( emschur3d PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" )
  17. set_target_properties(emschur3d PROPERTIES
  18. VERSION "${EMSCHUR3D_VERSION_NOQUOTES}"
  19. SOVERSION "${EMSCHUR3D_VERSION_MAJOR}.${LEMMA_VERSION_MINOR}"
  20. PROJECT_LABEL "EMSCHUR3D ${LABEL_SUFFIX}"
  21. CXX_STANDARD_14
  22. CXX_STANDARD_REQUIRED_ON
  23. )
  24. # Linking
  25. target_link_libraries(emschur3d "lemmacore" "fdem1d" )
  26. # Linking
  27. target_link_libraries(emschur3d ${VTK_LIBRARIES})
  28. # Testing
  29. if (LEMMA_ENABLE_TESTING)
  30. add_subdirectory(testing)
  31. endif()
  32. # Install
  33. install ( TARGETS emschur3d DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
  34. install ( FILES include/EMSchur3D DESTINATION ${CMAKE_INSTALL_PREFIX}/include/Lemma )
  35. install ( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/Lemma FILES_MATCHING PATTERN "*.h")
  36. #install ( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/Lemma/ FILES_MATCHING PATTERN "FDEM1D")
  37. #install ( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/Lemma/FDEM1D FILES_MATCHING PATTERN "*.h")
  38. # Examples
  39. if ( LEMMA_BUILD_EXAMPLES)
  40. add_subdirectory(examples)
  41. endif()
  42. else()
  43. if ( LEMMA_MODULE_EMSCHUR3D )
  44. message ( FATAL_ERROR
  45. "EMSChur3D requires VTK 6, 7, or 8"
  46. )
  47. endif()
  48. endif()