Salome HOME
Issue #2564: CEA 2018-1 SMASH
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
1 ## Copyright (C) 2014-2017  CEA/DEN, EDF R&D
2 ##
3 ## This library is free software; you can redistribute it and/or
4 ## modify it under the terms of the GNU Lesser General Public
5 ## License as published by the Free Software Foundation; either
6 ## version 2.1 of the License, or (at your option) any later version.
7 ##
8 ## This library is distributed in the hope that it will be useful,
9 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 ## Lesser General Public License for more details.
12 ##
13 ## You should have received a copy of the GNU Lesser General Public
14 ## License along with this library; if not, write to the Free Software
15 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 ##
17 ## See http:##www.salome-platform.org/ or
18 ## email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
19 ##
20
21 INCLUDE(Common)
22 INCLUDE(UnitTest)
23
24 SET(PROJECT_HEADERS
25     FeaturesPlugin.h
26     FeaturesPlugin_Plugin.h
27     FeaturesPlugin_Extrusion.h
28     FeaturesPlugin_Recover.h
29     FeaturesPlugin_Revolution.h
30     FeaturesPlugin_Rotation.h
31     FeaturesPlugin_Translation.h
32     FeaturesPlugin_Boolean.h
33     FeaturesPlugin_BooleanCut.h
34     FeaturesPlugin_BooleanFuse.h
35     FeaturesPlugin_BooleanCommon.h
36     FeaturesPlugin_BooleanSmash.h
37     FeaturesPlugin_BooleanFill.h
38     FeaturesPlugin_Intersection.h
39     FeaturesPlugin_Partition.h
40     FeaturesPlugin_Pipe.h
41     FeaturesPlugin_Placement.h
42     FeaturesPlugin_CompositeBoolean.h
43     FeaturesPlugin_CompositeSketch.h
44     FeaturesPlugin_ExtrusionBoolean.h
45     FeaturesPlugin_ExtrusionCut.h
46     FeaturesPlugin_ExtrusionFuse.h
47     FeaturesPlugin_RevolutionBoolean.h
48     FeaturesPlugin_RevolutionCut.h
49     FeaturesPlugin_RevolutionFuse.h
50     FeaturesPlugin_Union.h
51     FeaturesPlugin_ValidatorTransform.h
52     FeaturesPlugin_Validators.h
53     FeaturesPlugin_RemoveSubShapes.h
54     FeaturesPlugin_Tools.h
55     FeaturesPlugin_Symmetry.h
56     FeaturesPlugin_Scale.h
57     FeaturesPlugin_MultiTranslation.h
58     FeaturesPlugin_MultiRotation.h
59     FeaturesPlugin_Fillet.h
60     FeaturesPlugin_Measurement.h
61 )
62
63 SET(PROJECT_SOURCES
64     FeaturesPlugin_Plugin.cpp
65     FeaturesPlugin_Extrusion.cpp
66     FeaturesPlugin_Recover.cpp
67     FeaturesPlugin_Revolution.cpp
68     FeaturesPlugin_Rotation.cpp
69     FeaturesPlugin_Translation.cpp
70     FeaturesPlugin_Boolean.cpp
71     FeaturesPlugin_BooleanCut.cpp
72     FeaturesPlugin_BooleanSmash.cpp
73     FeaturesPlugin_Intersection.cpp
74     FeaturesPlugin_Partition.cpp
75     FeaturesPlugin_Pipe.cpp
76     FeaturesPlugin_Placement.cpp
77     FeaturesPlugin_CompositeBoolean.cpp
78     FeaturesPlugin_CompositeSketch.cpp
79     FeaturesPlugin_ExtrusionBoolean.cpp
80     FeaturesPlugin_ExtrusionCut.cpp
81     FeaturesPlugin_ExtrusionFuse.cpp
82     FeaturesPlugin_RevolutionBoolean.cpp
83     FeaturesPlugin_RevolutionCut.cpp
84     FeaturesPlugin_RevolutionFuse.cpp
85     FeaturesPlugin_Union.cpp
86     FeaturesPlugin_ValidatorTransform.cpp
87     FeaturesPlugin_Validators.cpp
88     FeaturesPlugin_RemoveSubShapes.cpp
89     FeaturesPlugin_Tools.cpp
90     FeaturesPlugin_Symmetry.cpp
91     FeaturesPlugin_Scale.cpp
92     FeaturesPlugin_MultiTranslation.cpp
93     FeaturesPlugin_MultiRotation.cpp
94     FeaturesPlugin_Fillet.cpp
95     FeaturesPlugin_Measurement.cpp
96 )
97
98 SET(XML_RESOURCES
99   plugin-Features.xml
100   extrusion_widget.xml
101   extrusioncut_widget.xml
102   extrusionfuse_widget.xml
103   revolution_widget.xml
104   revolutioncut_widget.xml
105   revolutionfuse_widget.xml
106   rotation_widget.xml
107   translation_widget.xml
108   boolean_widget.xml
109   boolean_smash_widget.xml
110   recover_widget.xml
111   partition_widget.xml
112   placement_widget.xml
113   intersection_widget.xml
114   pipe_widget.xml
115   remove_subshapes_widget.xml
116   union_widget.xml
117   symmetry_widget.xml
118   scale_widget.xml
119   multitranslation_widget.xml
120   multirotation_widget.xml
121   fillet_widget.xml
122   measurement_widget.xml
123 )
124
125 SET(TEXT_RESOURCES
126     FeaturesPlugin_msg_en.ts
127     FeaturesPlugin_msg_ru.ts
128 )
129
130 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
131
132
133 INCLUDE_DIRECTORIES(
134   ../ModelAPI
135   ../GeomAPI
136   ../GeomAlgoAPI
137   ../GeomValidators
138   ../Events
139   ../Config
140   ${CAS_INCLUDE_DIRS}
141 )
142
143 SET(PROJECT_LIBRARIES
144     Events
145     ModelAPI
146     GeomAPI
147     GeomAlgoAPI
148     GeomValidators
149     Config
150     ${CAS_VIEWER}
151     ${CAS_SHAPE}
152 )
153
154 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
155 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
156 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
157
158 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
159 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
160 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
161 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
162
163 ADD_UNIT_TESTS(TestExtrusion.py
164                TestExtrusionCut.py
165                TestExtrusionFuse.py
166                TestRevolution.py
167                TestRevolutionCut.py
168                TestRevolutionFuse.py
169                TestCompositeFeaturesOnCompSolids.py
170                TestPartition.py
171                TestPlacement.py
172                TestTranslation.py
173                TestRotation.py
174                TestBoolean.py
175                TestBooleanCompSolids.py
176                TestBooleanSmash.py
177                TestBooleanFill.py
178                TestBooleanFillWithPlane.py
179                TestMultiBoolean.py
180                TestSerialBoolean.py
181                TestIntersection.py
182                TestUnion.py
183                TestUnionFaces.py
184                TestRemoveSubShapes.py
185                TestRemoveSubShapes2.py
186                TestPipe.py
187                TestRecover.py
188                TestRecover1798.py
189                TestFillEdgeVertex.py
190                TestFillEdgeEdge.py
191                TestFillEdgeEdgeIntersected.py
192                TestFillEdgeWire.py
193                TestFillEdgeFace.py
194                TestFillEdgeShell.py
195                TestFillEdgeSolid.py
196                TestFillEdgeSolidIntersected.py
197                TestFillWireVertex.py
198                TestFillWireEdge.py
199                TestFillWireWire.py
200                TestFillWireFace.py
201                TestFillWireShell.py
202                TestFillWireSolid.py
203                TestFillFaceVertex.py
204                TestFillFaceEdge.py
205                TestFillFaceEdgeInside.py
206                TestFillFaceEdgePerpendicular.py
207                TestFillFaceWire.py
208                TestFillFaceFace.py
209                TestFillFaceShell.py
210                TestFillFaceSolid.py
211                TestFillCompFaceSolid.py
212                TestFillShellVertex.py
213                TestFillShellEdge.py
214                TestFillShellConstrPlane.py
215                TestFillShellWire.py
216                TestFillShellFace.py
217                TestFillShellShell.py
218                TestFillShellSolid.py
219                TestFillSolid2ConstructionPlanes.py
220                TestFillSolidEdge.py
221                TestFillSolidFace.py
222                TestFillSolidCompFace.py
223                TestFillSolidShell.py
224                TestFillSolidCompShell.py
225                TestPartition2Faces.py
226                TestPartition2Solids.py
227                TestPartition2Wires.py
228                TestPartitionBox4Planes.py
229                TestPartitionEdgeSolid.py
230                TestPartitionFace2Solid.py
231 #               TestPartitionFaceSolid.py
232                TestPartitionFaceWire.py
233                TestPartitionInclinedFaceSolid.py
234                TestPartitionWireFaceSolid.py
235                TestUnion4CurvedFaces.py
236                TestUnion4Faces.py
237                TestUnionOfUnion.py
238                TestMeasurementLength.py
239                TestMeasurementDistance.py
240                TestMeasurementRadius.py
241                TestMeasurementAngle.py
242                Test1379.py
243                Test1922.py
244                Test1942.py
245                Test1915.py
246                Test2023.py
247                Test2046.py
248                Test2038.py
249                Test2172.py
250                Test2194.py
251                Test2197_1.py
252                Test2197_2.py
253                Test2197_3.py
254                Test2197_4.py
255                Test2215.py
256                Test2222.py
257                Test2233.py
258                Test2231.py
259                Test2240.py
260                Test2246.py
261                Test2248.py
262                Test2251.py
263                Test2255.py
264                Test2289.py
265                Test2304.py
266                Test2304_2.py
267                Test2375.py
268                Test2377.py
269                Test2394.py
270                Test2395.py
271                Test2419_1.py
272                Test2419_2.py
273                Test2419_3.py
274                Test2465.py
275                Test2495.py
276                Test2514.py
277                Test2520.py
278                TestBooleanCut_CompSolid_CompSolid.py
279                TestBooleanCut_CompSolidCompound_CompSolidCompound.py
280                TestBooleanCut_Edge_Edge.py
281                TestBooleanCut_Edge_Face.py
282                TestBooleanCut_EdgeCompound_EdgeCompound.py
283                TestBooleanCut_EdgeCompound_Solid.py
284                TestBooleanCut_Face_Face.py
285                TestBooleanCut_Face_Solid.py
286                TestBooleanCut_FaceCompound_FaceCompound.py
287                TestBooleanCut_Shell_Shell.py
288                TestBooleanCut_ShellCompound_ShellCompound.py
289                TestBooleanCut_Solid_Solid.py
290                TestBooleanCut_SolidCompound_SolidCompound.py
291                TestBooleanCut_Vertex_Vertex.py
292                TestBooleanCut_VertexCompound_Solid.py
293                TestBooleanCut_VertexCompound_VertexCompound.py
294                TestBooleanCut_Wire_Face.py
295                TestBooleanCut_Wire_Wire.py
296                TestBooleanCut_WireCompound_WireCompound.py
297                TestBooleanSmash_Face_Face.py
298 )