Salome HOME
Task #3015 3.1. To add a mode 'through all' for features ExtrusionCut and ExtrusionFuse
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
1 # Copyright (C) 2014-2019  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 email : webmaster.salome@opencascade.com
18 #
19
20 INCLUDE(Common)
21 INCLUDE(UnitTest)
22
23 SET(PROJECT_HEADERS
24     FeaturesPlugin.h
25     FeaturesPlugin_Plugin.h
26     FeaturesPlugin_Extrusion.h
27     FeaturesPlugin_Recover.h
28     FeaturesPlugin_Revolution.h
29     FeaturesPlugin_Rotation.h
30     FeaturesPlugin_Translation.h
31     FeaturesPlugin_VersionedBoolean.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     FeaturesPlugin_FusionFaces.h
62     FeaturesPlugin_RemoveResults.h
63 )
64
65 SET(PROJECT_SOURCES
66     FeaturesPlugin_Plugin.cpp
67     FeaturesPlugin_Extrusion.cpp
68     FeaturesPlugin_Recover.cpp
69     FeaturesPlugin_Revolution.cpp
70     FeaturesPlugin_Rotation.cpp
71     FeaturesPlugin_Translation.cpp
72     FeaturesPlugin_VersionedBoolean.cpp
73     FeaturesPlugin_Boolean.cpp
74     FeaturesPlugin_BooleanCut.cpp
75     FeaturesPlugin_BooleanFuse.cpp
76     FeaturesPlugin_BooleanCommon.cpp
77     FeaturesPlugin_BooleanSmash.cpp
78     FeaturesPlugin_BooleanFill.cpp
79     FeaturesPlugin_Intersection.cpp
80     FeaturesPlugin_Partition.cpp
81     FeaturesPlugin_Pipe.cpp
82     FeaturesPlugin_Placement.cpp
83     FeaturesPlugin_CompositeBoolean.cpp
84     FeaturesPlugin_CompositeSketch.cpp
85     FeaturesPlugin_ExtrusionBoolean.cpp
86     FeaturesPlugin_ExtrusionCut.cpp
87     FeaturesPlugin_ExtrusionFuse.cpp
88     FeaturesPlugin_RevolutionBoolean.cpp
89     FeaturesPlugin_RevolutionCut.cpp
90     FeaturesPlugin_RevolutionFuse.cpp
91     FeaturesPlugin_Union.cpp
92     FeaturesPlugin_ValidatorTransform.cpp
93     FeaturesPlugin_Validators.cpp
94     FeaturesPlugin_RemoveSubShapes.cpp
95     FeaturesPlugin_Tools.cpp
96     FeaturesPlugin_Symmetry.cpp
97     FeaturesPlugin_Scale.cpp
98     FeaturesPlugin_MultiTranslation.cpp
99     FeaturesPlugin_MultiRotation.cpp
100     FeaturesPlugin_Fillet.cpp
101     FeaturesPlugin_Measurement.cpp
102     FeaturesPlugin_FusionFaces.cpp
103     FeaturesPlugin_RemoveResults.cpp
104 )
105
106 SET(XML_RESOURCES
107   plugin-Features.xml
108   extrusion_widget.xml
109   extrusioncut_widget.xml
110   extrusionfuse_widget.xml
111   revolution_widget.xml
112   revolutioncut_widget.xml
113   revolutionfuse_widget.xml
114   rotation_widget.xml
115   translation_widget.xml
116   boolean_widget.xml
117   boolean_fuse_widget.xml
118   boolean_common_widget.xml
119   boolean_split_widget.xml
120   boolean_smash_widget.xml
121   recover_widget.xml
122   partition_widget.xml
123   placement_widget.xml
124   intersection_widget.xml
125   pipe_widget.xml
126   remove_subshapes_widget.xml
127   union_widget.xml
128   symmetry_widget.xml
129   scale_widget.xml
130   multitranslation_widget.xml
131   multirotation_widget.xml
132   fillet_widget.xml
133   measurement_widget.xml
134   fusion_faces_widget.xml
135 )
136
137 SET(TEXT_RESOURCES
138     FeaturesPlugin_msg_en.ts
139     FeaturesPlugin_msg_fr.ts
140     FeaturesPlugin_msg_ru.ts
141 )
142
143 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
144
145
146 INCLUDE_DIRECTORIES(
147   ../ModelAPI
148   ../GeomAPI
149   ../GeomAlgoAPI
150   ../GeomValidators
151   ../Events
152   ../Config
153   ${OpenCASCADE_INCLUDE_DIR}
154 )
155
156 SET(PROJECT_LIBRARIES
157     Events
158     ModelAPI
159     GeomAPI
160     GeomAlgoAPI
161     GeomValidators
162     Config
163     ${OpenCASCADE_Visualization_LIBRARIES}
164 )
165
166 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
167 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
168 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
169
170 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
171 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
172 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
173 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
174
175 ADD_UNIT_TESTS(TestExtrusion.py
176                TestExtrusionOfCompound.py
177                TestExtrusionCut.py
178                TestExtrusionCut_BySize.py
179                TestExtrusionCut_ByPlanesAndOffsets.py
180                TestExtrusionCut_ByFaces.py
181                TestExtrusionCut_ThroughAll.py
182                TestExtrusionFuse.py
183                TestExtrusionFuse_BySize.py
184                TestExtrusionFuse_ByPlanesAndOffsets.py
185                TestExtrusionFuse_ThroughAll.py
186                TestExtrusion_ErrorMsg.py
187                TestExtrusion_ZeroOffsetError.py
188                TestExtrusion_ByFaces01.py
189                TestExtrusion_ByFaces02.py
190                TestExtrusion_ByFaces03.py
191                TestExtrusion_ByFaces04.py
192                TestExtrusion_ByFaces05.py
193                TestExtrusion_ByFaces06.py
194                TestExtrusion_ByFaces07.py
195                TestExtrusion_ByFaces08.py
196                TestExtrusion_ByFaces09.py
197                TestExtrusion_ByFaces10.py
198                TestExtrusion_ByFaces11.py
199                TestExtrusion_ByFaces12.py
200                TestExtrusion_ByFaces13.py
201                TestExtrusion_ByFaces14.py
202                TestExtrusion_ByFaces15.py
203                TestExtrusion_ByFaces16.py
204                TestExtrusion_ByFaces17.py
205                TestExtrusion_ByFaces18.py
206                TestExtrusion_ByFaces19.py
207                TestRevolution.py
208                TestRevolution_ByAngle.py
209                TestRevolutionOfPoint.py
210                TestRevolutionOfEdge.py
211                TestRevolutionOfCompound.py
212                TestRevolutionCut.py
213                TestRevolutionCut_ByAngle.py
214                TestRevolutionCut_ByPlanesAndOffsets.py
215                TestRevolutionCut_ThroughAll.py
216                TestRevolutionFuse.py
217                TestRevolutionFuse_ByAngle.py
218                TestRevolutionFuse_ByPlanesAndOffsets.py
219                TestRevolutionFuse_ThroughAll.py
220                TestCompositeFeaturesOnCompSolids.py
221                TestPartition.py
222                TestPartition_ErrorMsg.py
223                TestPlacement_Vertex_Vertex.py
224                TestPlacement_Edge_Vertex.py
225                TestPlacement_Edge_Edge.py
226                TestPlacement_Face_Vertex.py
227                TestPlacement_Face_Edge.py
228                TestPlacement_Face_Face.py
229                TestPlacement_Part_Part.py
230                TestPlacement_Complex.py
231                TestPlacement_ErrorMsg.py
232                TestPlacement_BodyShapesValidator.py
233                TestTranslation.py
234                TestTranslation_Part.py
235                TestRotation.py
236                TestRotation_ByAxis.py
237                TestRotation_ByPoints.py
238                TestRotation_ErrorMsg.py
239                TestMultiRotation_Part.py
240                TestMultiRotation_ErrorMsg.py
241                TestMultiTranslation_Part.py
242                TestMultiTranslation_ErrorMsg.py
243                TestSymmetry_Part.py
244                TestBoolean1.py
245                TestBoolean2.py
246                TestBoolean3.py
247                TestBooleanCompSolids.py
248                TestBooleanSmash.py
249                TestBooleanSplit.py
250                TestBooleanSplitWithPlane.py
251                TestBooleanSplit_ErrorMsg.py
252                TestMultiBoolean.py
253                TestSerialBoolean.py
254                TestBoolean_ErrorMsg.py
255                TestIntersection.py
256                TestIntersection_ErrorMsg.py
257                TestUnion.py
258                TestUnionFaces.py
259                TestUnion_ErrorMsg.py
260                TestRemoveSubShapes.py
261                TestRemoveSubShapes2.py
262                TestRemoveSubShapes3.py
263                TestRemoveSubShapes4.py
264                TestRemoveSubShapes5.py
265                TestRemoveSubShapes6.py
266                TestPipe.py
267                TestPipe_Edge.py
268                TestPipe_Wire.py
269                TestPipe_Compound.py
270                TestPipe_ErrorMsg.py
271                TestRecover.py
272                TestRecover_Compound.py
273                TestRecover_Compsolid1.py
274                TestRecover_Compsolid2.py
275                TestRecover1798.py
276                TestSplitEdgeVertex.py
277                TestSplitEdgeEdge.py
278                TestSplitEdgeEdgeIntersected.py
279                TestSplitEdgeWire.py
280                TestSplitEdgeFace.py
281                TestSplitEdgeShell.py
282                TestSplitEdgeSolid.py
283                TestSplitEdgeSolidIntersected.py
284                TestSplitWireVertex.py
285                TestSplitWireEdge.py
286                TestSplitWireWire.py
287                TestSplitWireFace.py
288                TestSplitWireShell.py
289                TestSplitWireSolid.py
290                TestSplitFaceVertex.py
291                TestSplitFaceEdge.py
292                TestSplitFaceEdgeInside.py
293                TestSplitFaceEdgePerpendicular.py
294                TestSplitFaceWire.py
295                TestSplitFaceFace.py
296                TestSplitFaceShell.py
297                TestSplitFaceSolid.py
298                TestSplitCompFaceSolid.py
299                TestSplitShellVertex.py
300                TestSplitShellEdge.py
301                TestSplitShellConstrPlane.py
302                TestSplitShellWire.py
303                TestSplitShellFace.py
304                TestSplitShellShell.py
305                TestSplitShellSolid.py
306                TestSplitSolid2ConstructionPlanes.py
307                TestSplitSolidEdge.py
308                TestSplitSolidFace.py
309                TestSplitSolidCompFace.py
310                TestSplitSolidShell.py
311                TestSplitSolidCompShell.py
312                TestSplitCompsolidPlane.py
313                TestPartition2Faces.py
314                TestPartition2Solids.py
315                TestPartition2Wires.py
316                TestPartitionBox4Planes.py
317                TestPartitionEdgeSolid.py
318                TestPartitionFace2Solid.py
319                TestPartitionFaceSolid.py
320                TestPartitionFaceWire.py
321                TestPartitionInclinedFaceSolid.py
322                TestPartitionWireFaceSolid.py
323                TestUnion4CurvedFaces.py
324                TestUnion4CurvedFaces_2.py
325                TestUnion4Faces.py
326                TestUnionOfUnion.py
327                TestMeasurementLength.py
328                TestMeasurementDistance.py
329                TestMeasurementRadius.py
330                TestMeasurementAngle.py
331                TestMeasurementAngle3Points.py
332                TestMeasurementPresentation.py
333                TestFusionFaces.py
334                TestFusionFaces2697.py 
335                Test1379.py
336                Test1922.py
337                Test1942.py
338                Test1915.py
339                Test2023.py
340                Test2046.py
341                Test2038.py
342                Test2172.py
343                Test2194.py
344                Test2197_1.py
345                Test2197_2.py
346                Test2197_3.py
347                Test2197_4.py
348                Test2215.py
349                Test2222.py
350                Test2233.py
351                Test2231.py
352                Test2240.py
353                Test2246.py
354                Test2248.py
355                Test2251.py
356                Test2255.py
357                Test2289.py
358                Test2304.py
359                Test2304_2.py
360                Test2375.py
361                Test2377.py
362                Test2394.py
363                Test2395.py
364                Test2419_1.py
365                Test2419_2.py
366                Test2419_3.py
367                Test2465.py
368                Test2495.py
369                Test2514.py
370                Test2520.py
371                TestBooleanCut_CompSolid_CompSolid.py
372                TestBooleanCut_CompSolidCompound_CompSolidCompound.py
373                TestBooleanCut_Edge_Edge.py
374                TestBooleanCut_Edge_Face.py
375                TestBooleanCut_EdgeCompound_EdgeCompound.py
376                TestBooleanCut_EdgeCompound_Solid.py
377                TestBooleanCut_Face_Face.py
378                TestBooleanCut_Face_Solid.py
379                TestBooleanCut_FaceCompound_FaceCompound.py
380                TestBooleanCut_Shell_Shell.py
381                TestBooleanCut_ShellCompound_ShellCompound.py
382                TestBooleanCut_Solid_Solid.py
383                TestBooleanCut_SolidCompound_SolidCompound.py
384                TestBooleanCut_Vertex_Vertex.py
385                TestBooleanCut_VertexCompound_Solid.py
386                TestBooleanCut_VertexCompound_VertexCompound.py
387                TestBooleanCut_Wire_Face.py
388                TestBooleanCut_Wire_Wire.py
389                TestBooleanCut_WireCompound_WireCompound.py
390                TestBooleanCut_Compound_Solid.py
391                TestBooleanCut_ErrorMsg.py
392                TestBooleanCut_SolidsHistory.py
393                TestBooleanSmash_Face_Face.py
394                TestBooleanSmash_SubSolid_Solid.py
395                TestBooleanSmash_CompSolid_Solid.py
396                TestBooleanSmash_ErrorMsg.py
397                TestBooleanSmash_SolidsHistory.py
398                TestBooleanFuse_SimpleMode.py
399                TestBooleanFuse_RemoveEdges.py
400                TestBooleanFuse_ErrorMsg.py
401                TestBooleanCommon_Vertex_Vertex.py
402                TestBooleanCommon_VertexCompound_VertexCompound.py
403                TestBooleanCommon_Edge_Edge.py
404                TestBooleanCommon_EdgeCompound_EdgeCompound.py
405                TestBooleanCommon_Wire_Wire.py
406                TestBooleanCommon_WireCompound_WireCompound.py
407                TestBooleanCommon_Face_Face.py
408                TestBooleanCommon_Face_Plane.py
409                TestBooleanCommon_FaceCompound_FaceCompound.py
410                TestBooleanCommon_Shell_Shell.py
411                TestBooleanCommon_ShellCompound_ShellCompound.py
412                TestBooleanCommon_Solid_Face.py
413                TestBooleanCommon_Solid_Shell.py
414                TestBooleanCommon_Solid_Solid.py
415                TestBooleanCommon_SolidCompound_Face.py
416                TestBooleanCommon_SolidCompound_Shell.py
417                TestBooleanCommon_SolidCompound_SolidCompound.py
418                TestBooleanCommon_SubCompound_Solid.py
419                TestBooleanCommon_SubSolid_Solid.py
420                TestBooleanCommon_CompSolid_Face.py
421                TestBooleanCommon_CompSolid_Shell.py
422                TestBooleanCommon_CompSolid_CompSolid.py
423                TestBooleanCommon_CompSolidCompound_Face.py
424                TestBooleanCommon_CompSolidCompound_Shell.py
425                TestBooleanCommon_CompSolidCompound_CompSolidCompound.py
426                TestBooleanCommon_ErrorMsg.py
427                TestBooleanCommon_SolidsHistory.py
428                Test2596.py
429                Test2592.py
430                Test2588.py
431                Test1467.py
432                TestPartitionSubCompsolidWithCompSolid1.py
433                TestPartitionSubCompsolidWithCompSolid2.py
434                TestPartitionSubCompsolidWithCompSolid3.py
435                TestPartitionSubCompsolidWithSolid1.py
436                TestPartitionSubCompsolidWithSolid2.py
437                TestPartitionSubCompsolidWithSolid3.py
438                TestPartitionSubCompsolidWithSolid4.py
439                TestPartitionSubCompsolidWithSolid5.py
440                TestPartitionSubCompsolidWithFace1.py
441                TestPartitionSubCompsolidWithFace2.py
442                TestPartitionSubCompsolidWithFace3.py
443                TestPartitionSubCompsolidWithFace4.py
444                TestPartitionSubCompsolidWithFace5.py
445                TestPartitionSubCompsolidWithPlane1.py
446                TestPartitionSubCompsolidWithPlane2.py
447                TestPartitionSubCompsolidWithPlane3.py
448                TestPartitionSubCompsolidWithPlane4.py
449                TestPartitionSubCompsolidWithPlane5.py
450                TestPartitionArgsUpdate.py
451                TestPartition_SolidsHistory.py
452                TestBooleanFuse_Vertex_Vertex.py
453                TestBooleanFuse_VertexCompound_VertexCompound.py
454                TestBooleanFuse_Edge_Edge.py
455                TestBooleanFuse_EdgeCompound_EdgeCompound.py
456                TestBooleanFuse_Wire_Wire.py
457                TestBooleanFuse_WireCompound_WireCompound.py
458                TestBooleanFuse_Face_Face.py
459                TestBooleanFuse_FaceCompound_FaceCompound.py
460                TestBooleanFuse_Shell_Shell.py
461                TestBooleanFuse_ShellCompound_ShellCompound.py
462                TestBooleanFuse_Solid_Solid.py
463                TestBooleanFuse_SolidCompound_SolidCompound.py
464                TestBooleanFuse_CompSolid_Face.py
465                TestBooleanFuse_CompSolid_CompSolid.py
466                TestBooleanFuse_CompSolidCompound_CompSolidCompound.py
467                TestBooleanFuse_SolidsHistory.py
468                TestFillet.py
469                TestFillet1.py
470                TestFillet_ErrorMsg.py
471                TestFillet_History.py
472                TestScale1.py
473                TestScale2.py
474                Test1816.py
475                Test1876.py
476                Test2225.py
477                Test2631.py
478                Test2636.py
479                Test2650.py
480                Test2681.py
481                Test2686.py
482                Test2689.py
483                Test2693.py
484                Test2698.py
485                Test2701.py
486                Test2724.py
487                Test2692.py
488                Test2617.py
489                Test2729.py
490                Test2738.py
491                Test2751.py
492                Test2826.py
493                Test2854.py
494                Test2878.py
495                Test2971.py
496                Test3014.py
497                TestBooleanCommon_MultiLevelCompound_v0_1.py
498                TestBooleanCommon_MultiLevelCompound_v0_2.py
499                TestBooleanCommon_MultiLevelCompound_v20190506_1.py
500                TestBooleanCommon_MultiLevelCompound_v20190506_2.py
501                TestBooleanCut_MultiLevelCompound_v0_1.py
502                TestBooleanCut_MultiLevelCompound_v0_2.py
503                TestBooleanCut_MultiLevelCompound_v20190506_1.py
504                TestBooleanCut_MultiLevelCompound_v20190506_2.py
505                TestBooleanFuse_MultiLevelCompound_v0_1.py
506                TestBooleanFuse_MultiLevelCompound_v0_2.py
507                TestBooleanFuse_MultiLevelCompound_v0_3.py
508                TestBooleanFuse_MultiLevelCompound_v0_4.py
509                TestBooleanFuse_MultiLevelCompound_v20190506_1.py
510                TestBooleanFuse_MultiLevelCompound_v20190506_2.py
511                TestBooleanFuse_MultiLevelCompound_v20190506_3.py
512                TestBooleanFuse_MultiLevelCompound_v20190506_4.py
513                TestBooleanSmash_MultiLevelCompound_v0_1.py
514                TestBooleanSmash_MultiLevelCompound_v0_2.py
515                TestBooleanSmash_MultiLevelCompound_v20190506_1.py
516                TestBooleanSmash_MultiLevelCompound_v20190506_2.py
517                TestBooleanSplit_MultiLevelCompound_v0_1.py
518                TestBooleanSplit_MultiLevelCompound_v0_2.py
519                TestBooleanSplit_MultiLevelCompound_v20190506_1.py
520                TestBooleanSplit_MultiLevelCompound_v20190506_2.py
521                TestPartition_MultiLevelCompound_v0_1.py
522                TestPartition_MultiLevelCompound_v0_2.py
523                TestPartition_MultiLevelCompound_v0_3.py
524                TestPartition_MultiLevelCompound_v20190506_1.py
525                TestPartition_MultiLevelCompound_v20190506_2.py
526                TestPartition_MultiLevelCompound_v20190506_3.py
527                TestUnion_MultiLevelCompound_v0.py
528                TestUnion_MultiLevelCompound_v20190506.py
529                TestUnionFaces_v20190506.py
530                TestRemoveResultsBody.py
531                TestRemoveResultsConstruction.py
532                TestRemoveResultsPart.py
533                Test17000.py
534                Test17261.py
535                Test17281.py
536 )