set(MSS_SRCS
  massSpringSystemFromObjMeshConfigFile.cpp
  massSpringSystemFromObjMesh.cpp
  massSpringSystemFromTetMeshConfigFile.cpp
  massSpringSystemFromTetMesh.cpp
  massSpringSystemMT.cpp
  massSpringSystem.cpp
  massSpringSystemFromCubicMesh.cpp
  massSpringSystemFromCubicMeshConfigFile.cpp
)
set(MSS_HDRS
    massSpringSystem.h
    massSpringSystemFromCubicMesh.h
    massSpringSystemFromCubicMeshConfigFile.h
    massSpringSystemFromObjMesh.h
    massSpringSystemFromObjMeshConfigFile.h
    massSpringSystemFromTetMesh.h
    massSpringSystemFromTetMeshConfigFile.h
    massSpringSystemMT.h
)
if (VegaFEM_ENABLE_OpenGL_SUPPORT)
  set(MSS_SRCS
    ${MSS_SRCS}
    renderSprings.cpp
  )
  set(MSS_HDRS
    ${MSS_HDRS}
    renderSprings.h
  )
endif()

vega_add_library(massSpringSystem
  SOURCES
    ${MSS_SRCS}
  PUBLIC_HEADERS
    ${MSS_HDRS}
)
target_link_libraries(massSpringSystem
  PUBLIC
    objMesh
    volumetricMesh
    configFile
    sparseMatrix
  INTERFACE
    minivector
)
if (VegaFEM_ENABLE_OpenGL_SUPPORT)
  target_link_libraries(massSpringSystem
    PUBLIC
      ${OPENGL_gl_LIBRARY}
      ${OPENGL_glu_LIBRARY}
  )
endif()
