Salome HOME
Merge branch 'V9_5_BR'
[modules/shaper.git] / src / SketchPlugin / CMakeLists.txt
1 # Copyright (C) 2014-2020  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     SketchPlugin.h
25     SketchPlugin_Arc.h
26     SketchPlugin_BSpline.h
27     SketchPlugin_BSplineBase.h
28     SketchPlugin_BSplinePeriodic.h
29     SketchPlugin_Circle.h
30     SketchPlugin_Constraint.h
31     SketchPlugin_ConstraintAngle.h
32     SketchPlugin_ConstraintBase.h
33     SketchPlugin_ConstraintCoincidence.h
34     SketchPlugin_ConstraintCoincidenceInternal.h
35     SketchPlugin_ConstraintCollinear.h
36     SketchPlugin_ConstraintDistance.h
37     SketchPlugin_ConstraintDistanceAlongDir.h
38     SketchPlugin_ConstraintDistanceHorizontal.h
39     SketchPlugin_ConstraintDistanceVertical.h
40     SketchPlugin_ConstraintEqual.h
41     SketchPlugin_Fillet.h
42     SketchPlugin_ConstraintHorizontal.h
43     SketchPlugin_ConstraintLength.h
44     SketchPlugin_ConstraintMiddle.h
45     SketchPlugin_ConstraintMirror.h
46     SketchPlugin_ConstraintParallel.h
47     SketchPlugin_ConstraintPerpendicular.h
48     SketchPlugin_ConstraintRadius.h
49     SketchPlugin_ConstraintRigid.h
50     SketchPlugin_ConstraintTangent.h
51     SketchPlugin_ConstraintVertical.h
52     SketchPlugin_CurveFitting.h
53     SketchPlugin_Ellipse.h
54     SketchPlugin_EllipticArc.h
55     SketchPlugin_ExternalValidator.h
56     SketchPlugin_Feature.h
57     SketchPlugin_IntersectionPoint.h
58     SketchPlugin_Line.h
59     SketchPlugin_MacroArc.h
60     SketchPlugin_MacroArcReentrantMessage.h
61     SketchPlugin_MacroBSpline.h
62     SketchPlugin_MacroCircle.h
63     SketchPlugin_MacroEllipse.h
64     SketchPlugin_MacroEllipticArc.h
65     SketchPlugin_MultiRotation.h
66     SketchPlugin_MultiTranslation.h
67     SketchPlugin_Offset.h
68     SketchPlugin_Plugin.h
69     SketchPlugin_Point.h
70     SketchPlugin_Projection.h
71     SketchPlugin_Sketch.h
72     SketchPlugin_SketchCopy.h
73     SketchPlugin_SketchDrawer.h
74     SketchPlugin_SketchEntity.h
75     SketchPlugin_Split.h
76     SketchPlugin_Tools.h
77     SketchPlugin_Trim.h
78     SketchPlugin_Validators.h
79 )
80
81 SET(PROJECT_SOURCES
82     SketchPlugin_Arc.cpp
83     SketchPlugin_BSpline.cpp
84     SketchPlugin_BSplineBase.cpp
85     SketchPlugin_BSplinePeriodic.cpp
86     SketchPlugin_Circle.cpp
87     SketchPlugin_Constraint.cpp
88     SketchPlugin_ConstraintAngle.cpp
89     SketchPlugin_ConstraintCoincidence.cpp
90     SketchPlugin_ConstraintCoincidenceInternal.cpp
91     SketchPlugin_ConstraintCollinear.cpp
92     SketchPlugin_ConstraintDistance.cpp
93     SketchPlugin_ConstraintDistanceAlongDir.cpp
94     SketchPlugin_ConstraintDistanceHorizontal.cpp
95     SketchPlugin_ConstraintDistanceVertical.cpp
96     SketchPlugin_ConstraintEqual.cpp
97     SketchPlugin_Fillet.cpp
98     SketchPlugin_ConstraintHorizontal.cpp
99     SketchPlugin_ConstraintLength.cpp
100     SketchPlugin_ConstraintMiddle.cpp
101     SketchPlugin_ConstraintMirror.cpp
102     SketchPlugin_ConstraintParallel.cpp
103     SketchPlugin_ConstraintPerpendicular.cpp
104     SketchPlugin_ConstraintRadius.cpp
105     SketchPlugin_ConstraintRigid.cpp
106     SketchPlugin_ConstraintTangent.cpp
107     SketchPlugin_ConstraintVertical.cpp
108     SketchPlugin_CurveFitting.cpp
109     SketchPlugin_Ellipse.cpp
110     SketchPlugin_EllipticArc.cpp
111     SketchPlugin_ExternalValidator.cpp
112     SketchPlugin_Feature.cpp
113     SketchPlugin_IntersectionPoint.cpp
114     SketchPlugin_Line.cpp
115     SketchPlugin_MacroArc.cpp
116     SketchPlugin_MacroBSpline.cpp
117     SketchPlugin_MacroCircle.cpp
118     SketchPlugin_MacroEllipse.cpp
119     SketchPlugin_MacroEllipticArc.cpp
120     SketchPlugin_MultiRotation.cpp
121     SketchPlugin_MultiTranslation.cpp
122     SketchPlugin_Offset.cpp
123     SketchPlugin_Plugin.cpp
124     SketchPlugin_Point.cpp
125     SketchPlugin_Projection.cpp
126     SketchPlugin_Sketch.cpp
127     SketchPlugin_SketchCopy.cpp
128     SketchPlugin_SketchDrawer.cpp
129     SketchPlugin_SketchEntity.cpp
130     SketchPlugin_Split.cpp
131     SketchPlugin_Tools.cpp
132     SketchPlugin_Trim.cpp
133     SketchPlugin_Validators.cpp
134 )
135
136 SET(PROJECT_LIBRARIES
137     Config
138     GeomAPI
139     GeomAlgoAPI
140     ModelAPI
141     ModelGeomAlgo
142     ModuleBase
143     SketcherPrs
144     GeomDataAPI
145 )
146
147 SET(XML_RESOURCES
148   plugin-Sketch.xml
149   plugin-SketchCopy.xml
150   plugin-SketchDrawer.xml
151 )
152
153 SET(TEXT_RESOURCES
154     SketchPlugin_msg_en.ts
155     SketchPlugin_msg_fr.ts
156 )
157
158 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC})
159 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
160 SOURCE_GROUP ("XML Files" FILES ${XML_RESOURCES})
161
162 ADD_DEFINITIONS(-DSKETCHPLUGIN_EXPORTS)
163 ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
164 TARGET_LINK_LIBRARIES(SketchPlugin ${PROJECT_LIBRARIES})
165
166 INCLUDE_DIRECTORIES(
167   ../Config
168   ../Events
169   ../ModelAPI
170   ../ModelGeomAlgo
171   ../ModuleBase
172   ../GeomAPI
173   ../GeomAlgoAPI
174   ../GeomDataAPI
175   ../SketcherPrs
176   ${OpenCASCADE_INCLUDE_DIR}
177 )
178
179 INSTALL(TARGETS SketchPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
180 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
181 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Sketch)
182 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
183
184 ADD_UNIT_TESTS(
185   Test1061.py
186   Test1577.py
187   Test1578.py
188   Test1673.py
189   Test1779.py
190   Test1924.py
191   Test1963.py
192   Test1966.py
193   Test1967.py
194   Test2034_1.py
195   Test2034_2.py
196   Test2034_3.py
197   Test2062.py
198   Test2095.py
199   Test2115.py
200   Test2119.py
201   Test2134.py
202   Test2157.py
203   Test2157_2.py
204   Test2224.py
205   Test2229.py
206   Test2239.py
207   Test2273.py
208   Test2280.py
209   Test2287.py
210   Test2341.py
211   Test2376.py
212   Test2390.py
213   Test2393.py
214   Test2425.py
215   Test2427.py
216   Test2440.py
217   Test2481.py
218   Test2654.py
219   Test2711.py
220   Test2741.py
221   Test2810.py
222   Test2824.py
223   Test2860.py
224   Test2894.py
225   Test3019.py
226   Test3087_1.py
227   Test3087_2.py
228   Test3132.py
229   Test3154.py
230   Test3170.py
231   Test3240.py
232   Test19089.py
233   Test19101.py
234   TestArcBehavior.py
235   TestBSplineAddPole.py
236   TestChangeSketchPlane1.py
237   TestChangeSketchPlane2.py
238   TestChangeSketchPlane3.py
239   TestChangeSketchPlane4.py
240   TestConstraintAngle.py
241   TestConstraintAngle_v0_1.py
242   TestConstraintAngle_v0_2.py
243   TestConstraintAngle_v20191210_1.py
244   TestConstraintAngle_v20191210_2.py
245   TestConstraintAngleBehaviorDirect.py
246   TestConstraintAngleBehaviorSupplementary_1.py
247   TestConstraintAngleBehaviorSupplementary_2.py
248   TestConstraintAngleBehaviorBackward_1.py
249   TestConstraintAngleBehaviorBackward_2.py
250   TestConstraintAngleEllipse.py
251   TestConstraintCoincidence.py
252   TestConstraintCoincidenceBSpline.py
253   TestConstraintCoincidenceEllipse.py
254   TestConstraintCoincidenceEllipticArc.py
255   TestConstraintCollinear.py
256   TestConstraintCollinearEllipse.py
257   TestConstraintDistance.py
258   TestConstraintDistanceEllipse.py
259   TestConstraintDistanceBehavior.py
260   TestConstraintDistanceHorizontal.py
261   TestConstraintDistanceVertical.py
262   TestConstraintDistanceZero.py
263   TestConstraintDistanceHorizontalZero.py
264   TestConstraintDistanceVerticalZero.py
265   TestConstraintEqual.py
266   TestConstraintEqualEllipse.py
267   TestConstraintFixed.py
268   TestConstraintHorizontal.py
269   TestConstraintHorizontalValidator.py
270   TestConstraintLength.py
271   TestConstraintMiddlePoint.py
272   TestConstraintMiddlePointOnArc.py
273   TestConstraintMiddlePointOnEllipticArc.py
274   TestConstraintParallel.py
275   TestConstraintPerpendicular.py
276   TestConstraintPerpendicularArcLine.py
277   TestConstraintPerpendicularEllipseLine.py
278   TestConstraintRadius.py
279   TestConstraintRadiusFailure.py
280   TestConstraintTangent.py
281   TestConstraintTangentBSpline.py
282   TestConstraintTangentEllipse.py
283   TestConstraintTangentEllipticArc.py
284   TestConstraintVertical.py
285   TestCreateArcByCenterStartEnd.py
286   TestCreateArcByTangentEdge.py
287   TestCreateArcByThreePoints.py
288   TestCreateArcByTransversalLine.py
289   TestCreateArcChangeType.py
290   TestCreateBSpline.py
291   TestCreateBSplinePeriodic.py
292   TestCreateCircleByCenterAndPassed.py
293   TestCreateCircleByThreePoints.py
294   TestCreateCircleChangeType.py
295   TestCreateEllipseByCenterSemiaxisAndPassed.py
296   TestCreateEllipseByMajorAxisAndPassed.py
297   TestCreateEllipseByExternal.py
298   TestCreateEllipticArc.py
299   TestCreateEllipticArcByExternal.py
300   TestCreateMacroBSpline.py
301   TestCurveFitting1.py
302   TestCurveFitting2.py
303   TestCurveFitting3.py
304   TestCurveFitting4.py
305   TestDegeneratedGeometry.py
306   TestDistanceDump.py
307   TestDistanceSignedVsUnsigned01.py
308   TestDistanceSignedVsUnsigned02.py
309   TestDistanceSignedVsUnsigned03.py
310   TestDistanceSignedVsUnsigned04.py
311   TestDistanceSignedVsUnsigned05.py
312   TestEdgesOrder.py
313   TestFillet.py
314   TestFilletAfterFolder.py
315   TestFilletInteracting.py
316   TestHighload.py
317   TestIntersectionChangeEdge.py
318   TestIntersectionWithCircle.py
319   TestIntersectionWithLine.py
320   TestIntersectionWithSpline.py
321   TestMirror.py
322   TestMultiRotation.py
323   TestMultiRotation01.py
324   TestMultiRotation02.py
325   TestMultiRotation03.py
326   TestMultiRotation04.py
327   TestMultiRotation05.py
328   TestMultiRotationWithParameter.py
329   TestMultiTranslation.py
330   TestOffset1.py
331   TestOffset2.py
332   TestPresentation.py
333   TestProjection.py
334   TestProjectionBSpline.py
335   TestProjectionBSplinePeriodic.py
336   TestProjectionEllipse.py
337   TestProjectionEllipticArc.py
338   TestProjectionIntoResult.py
339   TestProjectionUpdate.py
340   TestProjectionWithoutReference.py
341   TestRectangle.py
342   TestRemainingDoF.py
343   TestRemoveBSpline.py
344   TestRemoveBSplinePeriodic.py
345   TestRemoveEllipse.py
346   TestRemoveEllipticArc.py
347   TestRemoveSketch.py
348   TestSignedDistancePointLine.py
349   TestSignedDistancePointPoint.py
350   TestSketchCopy01.py
351   TestSketchCopy02.py
352   TestSketchCopy03.py
353   TestSketchCopy04.py
354   TestSketchCopy05.py
355   TestSketchCopy06.py
356   TestSketchCopy07.py
357   TestSketchCopy08.py
358   TestSketchCopy09.py
359   TestSketchCopy10.py
360   TestSketchCopy11.py
361   TestSketchCopy12.py
362   TestSketchCopy13.py
363   TestSketchCopy14.py
364   TestSketchDrawer.py
365   TestSketchPointLine.py
366   TestSnowflake.py
367   TestSplit.py
368   TestSplitEllipse.py
369   TestSplitLine.py
370   TestSplitPreview.py
371   TestTrimArc01.py
372   TestTrimArc02.py
373   TestTrimArc03.py
374   TestTrimArc04.py
375   TestTrimArc05.py
376   TestTrimArc06.py
377   TestTrimArc07.py
378   TestTrimArc08.py
379   TestTrimCircle01.py
380   TestTrimCircle02.py
381   TestTrimCircle03.py
382   TestTrimCircle04.py
383   TestTrimCircle05.py
384   TestTrimCircleAndArc01.py
385   TestTrimEllipse.py
386   TestTrimLine01.py
387   TestTrimLine02.py
388   TestTrimLine03.py
389   TestTrimPreview.py
390   TestUpdateSketch.py
391 )
392
393 if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
394   ADD_UNIT_TESTS(
395     TestMoveArc.py
396     TestMoveBSpline.py
397     TestMoveBSplinePeriodic.py
398     TestMoveCircle.py
399     TestMoveEllipse.py
400     TestMoveEllipticArc.py
401     TestMoveLine.py
402     TestMovementComplex.py
403     TestMovePoint.py
404   )
405 endif()