vega_add_library(mesh
  SOURCES
    boundingBox.cpp
    createTriMesh.cpp
    exactOctree.cpp
    geometryQuery.cpp
    intersection_tunicate.cpp
    labelOuterTets.cpp
    meshIntersection.cpp
    predicates.cpp
    predicates_Shewchuk.c
    rectKey.cpp
    simpleSphere.cpp
    tetKey.cpp
    tetMeshGeo.cpp
    tetMeshManifold.cpp
    tetrahedron.cpp
    triangle-closestPoint.cpp
    triangle.cpp
    tribox3.cpp
    triKey.cpp
    triMeshGeo.cpp
    triMeshManifold.cpp
    triMeshNeighbor.cpp
    triMeshPseudoNormal.cpp
    verticesInfo.cpp
    windingNumberTree.cpp
  PUBLIC_HEADERS
    boundingBox.h
    createTriMesh.h
    edgeKey.h
    exactOctree.h
    geometryQuery.h
    halfSpace.h
    initPredicates.h
    labelOuterTets.h
    meshIntersection.h
    plane.h
    predicates.h
    rectKey.h
    simpleSphere.h
    tetKey.h
    tetMeshGeo.h
    tetMeshManifold.h
    tetrahedron.h
    triangle.h
    tribox3.h
    triKey.h
    triMeshGeo.h
    triMeshManifold.h
    triMeshNeighbor.h
    triMeshPseudoNormal.h
    verticesInfo.h
    windingNumberTree.h
)

target_link_libraries(mesh
  PUBLIC
    minivector
    basicAlgorithms
    windingNumber
)
