-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
92 lines (84 loc) · 4.02 KB
/
CMakeLists.txt
File metadata and controls
92 lines (84 loc) · 4.02 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
cmake_minimum_required(VERSION 3.12)
project(Shell VERSION 1.0 LANGUAGES CXX)
# Find and load CMake configuration of packages containing this plugin's dependencies
find_package(Sofa.Config REQUIRED)
sofa_find_package(Sofa.Component.Controller REQUIRED)
sofa_find_package(Sofa.Component.Topology.Container.Dynamic REQUIRED)
sofa_find_package(Sofa.Component.StateContainer REQUIRED)
sofa_find_package(Sofa.Component.Mapping.Linear REQUIRED)
sofa_find_package(Sofa.GL REQUIRED)
set(README_FILE README.md)
# List all files
set(SHELL_SRC_DIR src/Shell)
set(HEADER_FILES
${SHELL_SRC_DIR}/config.h.in
${SHELL_SRC_DIR}/controller/MeshChangedEvent.h
${SHELL_SRC_DIR}/controller/MeshInterpolator.h
${SHELL_SRC_DIR}/controller/MeshInterpolator.inl
${SHELL_SRC_DIR}/controller/TriangleSwitchExample.h
${SHELL_SRC_DIR}/controller/TriangleSwitchExample.inl
${SHELL_SRC_DIR}/engine/JoinMeshPoints.h
${SHELL_SRC_DIR}/engine/JoinMeshPoints.inl
${SHELL_SRC_DIR}/engine/FindClosePoints.h
${SHELL_SRC_DIR}/engine/FindClosePoints.inl
${SHELL_SRC_DIR}/forcefield/BezierTriangularBendingFEMForceField.h
${SHELL_SRC_DIR}/forcefield/BezierTriangularBendingFEMForceField.inl
${SHELL_SRC_DIR}/forcefield/CstFEMForceField.h
${SHELL_SRC_DIR}/forcefield/CstFEMForceField.inl
${SHELL_SRC_DIR}/forcefield/TriangularBendingFEMForceField.h
${SHELL_SRC_DIR}/forcefield/TriangularBendingFEMForceField.inl
${SHELL_SRC_DIR}/forcefield/TriangularShellForceField.h
${SHELL_SRC_DIR}/forcefield/TriangularShellForceField.inl
${SHELL_SRC_DIR}/mapping/BendingPlateMechanicalMapping.h
${SHELL_SRC_DIR}/mapping/BendingPlateMechanicalMapping.inl
${SHELL_SRC_DIR}/mapping/BezierTriangleMechanicalMapping.h
${SHELL_SRC_DIR}/mapping/BezierTriangleMechanicalMapping.inl
${SHELL_SRC_DIR}/misc/PointProjection.h
${SHELL_SRC_DIR}/misc/PointProjection.inl
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolation.h
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolation.inl
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolationM.h
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolationM.inl
${SHELL_SRC_DIR}/shells2/forcefield/BezierShellForceField.h
${SHELL_SRC_DIR}/shells2/forcefield/BezierShellForceField.inl
${SHELL_SRC_DIR}/shells2/mapping/BezierShellMechanicalMapping.h
${SHELL_SRC_DIR}/shells2/mapping/BezierShellMechanicalMapping.inl
)
set(SOURCE_FILES
${SHELL_SRC_DIR}/initShell.cpp
${SHELL_SRC_DIR}/controller/MeshChangedEvent.cpp
${SHELL_SRC_DIR}/controller/MeshInterpolator.cpp
${SHELL_SRC_DIR}/controller/TriangleSwitchExample.cpp
${SHELL_SRC_DIR}/engine/JoinMeshPoints.cpp
${SHELL_SRC_DIR}/engine/FindClosePoints.cpp
${SHELL_SRC_DIR}/forcefield/BezierTriangularBendingFEMForceField.cpp
${SHELL_SRC_DIR}/forcefield/CstFEMForceField.cpp
${SHELL_SRC_DIR}/forcefield/TriangularBendingFEMForceField.cpp
${SHELL_SRC_DIR}/forcefield/TriangularShellForceField.cpp
${SHELL_SRC_DIR}/mapping/BendingPlateMechanicalMapping.cpp
${SHELL_SRC_DIR}/mapping/BezierTriangleMechanicalMapping.cpp
${SHELL_SRC_DIR}/misc/PointProjection.cpp
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolation.cpp
${SHELL_SRC_DIR}/shells2/fem/BezierShellInterpolationM.cpp
${SHELL_SRC_DIR}/shells2/forcefield/BezierShellForceField.cpp
${SHELL_SRC_DIR}/shells2/mapping/BezierShellMechanicalMapping.cpp
)
# Create the plugin library
add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES} ${README_FILES})
# Link the plugin library to its dependency(ies).
target_link_libraries(${PROJECT_NAME}
Sofa.Component.Controller
Sofa.Component.Topology.Container.Dynamic
Sofa.Component.StateContainer
Sofa.Component.Mapping.Linear
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}
RELOCATABLE "plugins"
)
sofa_add_subdirectory(plugin extensions/Shell.Adaptivity Shell.Adaptivity)