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