-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
118 lines (94 loc) · 4.64 KB
/
CMakeLists.txt
File metadata and controls
118 lines (94 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
cmake_minimum_required(VERSION 3.12)
project(CollisionAlgorithm VERSION 0.1 LANGUAGES CXX)
find_package(Sofa.Simulation.Core REQUIRED)
find_package(Sofa.Component.StateContainer REQUIRED)
find_package(Sofa.Component.Constraint.Lagrangian.Solver REQUIRED)
find_package(Sofa.GL REQUIRED)
set(COLLISIONALGORITHM_SRC "src/${PROJECT_NAME}")
set(HEADER_FILES
${COLLISIONALGORITHM_SRC}/config.h.in
${COLLISIONALGORITHM_SRC}/initCollisionAlgorithm.h
${COLLISIONALGORITHM_SRC}/BaseAABBBroadPhase.h
${COLLISIONALGORITHM_SRC}/BaseAlgorithm.h
${COLLISIONALGORITHM_SRC}/BaseElement.h
${COLLISIONALGORITHM_SRC}/BaseGeometry.h
${COLLISIONALGORITHM_SRC}/BaseOperation.h
${COLLISIONALGORITHM_SRC}/BaseProximity.h
${COLLISIONALGORITHM_SRC}/CollisionPipeline.h
${COLLISIONALGORITHM_SRC}/DataDetectionOutput.h
${COLLISIONALGORITHM_SRC}/ElementIterator.h
${COLLISIONALGORITHM_SRC}/InternalData.h
${COLLISIONALGORITHM_SRC}/algorithm/Find2DClosestProximityAlgorithm.h
${COLLISIONALGORITHM_SRC}/algorithm/InsertionAlgorithm.h
${COLLISIONALGORITHM_SRC}/broadphase/AABBBroadPhase.h
${COLLISIONALGORITHM_SRC}/broadphase/FullAABBBroadPhase.h
${COLLISIONALGORITHM_SRC}/elements/EdgeElement.h
${COLLISIONALGORITHM_SRC}/elements/PointElement.h
${COLLISIONALGORITHM_SRC}/elements/TetrahedronElement.h
${COLLISIONALGORITHM_SRC}/elements/TriangleElement.h
${COLLISIONALGORITHM_SRC}/filters/DistanceFilter.h
${COLLISIONALGORITHM_SRC}/geometry/EdgeGeometry.h
${COLLISIONALGORITHM_SRC}/geometry/PointGeometry.h
${COLLISIONALGORITHM_SRC}/geometry/SubsetGeometry.h
${COLLISIONALGORITHM_SRC}/geometry/TetrahedronGeometry.h
${COLLISIONALGORITHM_SRC}/geometry/TriangleGeometry.h
${COLLISIONALGORITHM_SRC}/operations/CreateCenterProximity.h
${COLLISIONALGORITHM_SRC}/operations/FindClosestProximity.h
${COLLISIONALGORITHM_SRC}/operations/Project.h
${COLLISIONALGORITHM_SRC}/operations/ContainsPoint.h
${COLLISIONALGORITHM_SRC}/operations/NeedleOperations.h
${COLLISIONALGORITHM_SRC}/proximity/EdgeProximity.h
${COLLISIONALGORITHM_SRC}/proximity/FixedProximity.h
${COLLISIONALGORITHM_SRC}/proximity/MechanicalProximity.h
${COLLISIONALGORITHM_SRC}/proximity/MultiProximity.h
${COLLISIONALGORITHM_SRC}/proximity/PointProximity.h
${COLLISIONALGORITHM_SRC}/proximity/TetrahedronProximity.h
${COLLISIONALGORITHM_SRC}/proximity/TriangleProximity.h
${COLLISIONALGORITHM_SRC}/toolbox/EdgeToolBox.h
${COLLISIONALGORITHM_SRC}/toolbox/PointToolBox.h
${COLLISIONALGORITHM_SRC}/toolbox/TetrahedronToolBox.h
${COLLISIONALGORITHM_SRC}/toolbox/TriangleToolBox.h
)
set(SOURCE_FILES
${COLLISIONALGORITHM_SRC}/initCollisionAlgorithm.cpp
${COLLISIONALGORITHM_SRC}/CollisionPipeline.cpp
${COLLISIONALGORITHM_SRC}/algorithm/Find2DClosestProximityAlgorithm.cpp
${COLLISIONALGORITHM_SRC}/algorithm/InsertionAlgorithm.cpp
${COLLISIONALGORITHM_SRC}/broadphase/AABBBroadPhase.cpp
${COLLISIONALGORITHM_SRC}/broadphase/FullAABBBroadPhase.cpp
${COLLISIONALGORITHM_SRC}/elements/EdgeElement.cpp
${COLLISIONALGORITHM_SRC}/elements/PointElement.cpp
${COLLISIONALGORITHM_SRC}/elements/TetrahedronElement.cpp
${COLLISIONALGORITHM_SRC}/elements/TriangleElement.cpp
${COLLISIONALGORITHM_SRC}/filters/DistanceFilter.cpp
${COLLISIONALGORITHM_SRC}/geometry/EdgeGeometry.cpp
${COLLISIONALGORITHM_SRC}/geometry/PointGeometry.cpp
${COLLISIONALGORITHM_SRC}/geometry/SubsetGeometry.cpp
${COLLISIONALGORITHM_SRC}/geometry/TetrahedronGeometry.cpp
${COLLISIONALGORITHM_SRC}/geometry/TriangleGeometry.cpp
${COLLISIONALGORITHM_SRC}/operations/CreateCenterProximity.cpp
${COLLISIONALGORITHM_SRC}/operations/FindClosestProximity.cpp
${COLLISIONALGORITHM_SRC}/operations/Project.cpp
${COLLISIONALGORITHM_SRC}/operations/ContainsPoint.cpp
${COLLISIONALGORITHM_SRC}/operations/NeedleOperations.cpp
${COLLISIONALGORITHM_SRC}/toolbox/EdgeToolBox.cpp
${COLLISIONALGORITHM_SRC}/toolbox/PointToolBox.cpp
${COLLISIONALGORITHM_SRC}/toolbox/TetrahedronToolBox.cpp
${COLLISIONALGORITHM_SRC}/toolbox/TriangleToolBox.cpp
)
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${HEADER_FILES} ${README_FILES})
target_link_libraries(${PROJECT_NAME}
Sofa.Simulation.Core
Sofa.Component.StateContainer
Sofa.Component.Constraint.Lagrangian.Solver
Sofa.GL
)
sofa_create_package_with_targets(
PACKAGE_NAME ${PROJECT_NAME}
PACKAGE_VERSION ${PROJECT_VERSION}
TARGETS ${PROJECT_NAME} AUTO_SET_TARGET_PROPERTIES
INCLUDE_SOURCE_DIR "src"
INCLUDE_INSTALL_DIR ${PROJECT_NAME}
EXAMPLE_INSTALL_DIR "scenes"
RELOCATABLE "plugins"
)