Salome HOME
Task #3231: Sketcher Offset of a curve
[modules/shaper.git] / src / SketchPlugin / 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     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 # sources / moc wrappings
159 QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_MOC_HEADERS})
160
161 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC})
162 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
163
164 ADD_DEFINITIONS(-DSKETCHPLUGIN_EXPORTS)
165 ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES} ${PROJECT_AUTOMOC})
166 TARGET_LINK_LIBRARIES(SketchPlugin ${PROJECT_LIBRARIES})
167
168 INCLUDE_DIRECTORIES(
169   ../Config
170   ../Events
171   ../ModelAPI
172   ../ModelGeomAlgo
173   ../ModuleBase
174   ../GeomAPI
175   ../GeomAlgoAPI
176   ../GeomDataAPI
177   ../SketcherPrs
178   ${OpenCASCADE_INCLUDE_DIR}
179 )
180
181 INSTALL(TARGETS SketchPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
182 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
183 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Sketch)
184 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
185
186 ADD_UNIT_TESTS(
187   Test1061.py
188   Test1577.py
189   Test1578.py
190   Test1673.py
191   Test1779.py
192   Test1924.py
193   Test1963.py
194   Test1966.py
195   Test1967.py
196   Test2034_1.py
197   Test2034_2.py
198   Test2034_3.py
199   Test2062.py
200   Test2095.py
201   Test2115.py
202   Test2119.py
203   Test2134.py
204   Test2157.py
205   Test2157_2.py
206   Test2224.py
207   Test2229.py
208   Test2239.py
209   Test2273.py
210   Test2280.py
211   Test2287.py
212   Test2341.py
213   Test2376.py
214   Test2390.py
215   Test2393.py
216   Test2425.py
217   Test2427.py
218   Test2440.py
219   Test2481.py
220   Test2654.py
221   Test2711.py
222   Test2741.py
223   Test2810.py
224   Test2824.py
225   Test2860.py
226   Test2894.py
227   Test3019.py
228   Test3087_1.py
229   Test3087_2.py
230   Test3132.py
231   Test3154.py
232   Test3170.py
233   TestArcBehavior.py
234   TestBSplineAddPole.py
235   TestChangeSketchPlane1.py
236   TestChangeSketchPlane2.py
237   TestChangeSketchPlane3.py
238   TestChangeSketchPlane4.py
239   TestConstraintAngle.py
240   TestConstraintAngle_v0_1.py
241   TestConstraintAngle_v0_2.py
242   TestConstraintAngle_v20191210_1.py
243   TestConstraintAngle_v20191210_2.py
244   TestConstraintAngleBehaviorDirect.py
245   TestConstraintAngleBehaviorSupplementary_1.py
246   TestConstraintAngleBehaviorSupplementary_2.py
247   TestConstraintAngleBehaviorBackward_1.py
248   TestConstraintAngleBehaviorBackward_2.py
249   TestConstraintAngleEllipse.py
250   TestConstraintCoincidence.py
251   TestConstraintCoincidenceBSpline.py
252   TestConstraintCoincidenceEllipse.py
253   TestConstraintCoincidenceEllipticArc.py
254   TestConstraintCollinear.py
255   TestConstraintCollinearEllipse.py
256   TestConstraintDistance.py
257   TestConstraintDistanceEllipse.py
258   TestConstraintDistanceBehavior.py
259   TestConstraintDistanceHorizontal.py
260   TestConstraintDistanceVertical.py
261   TestConstraintDistanceZero.py
262   TestConstraintDistanceHorizontalZero.py
263   TestConstraintDistanceVerticalZero.py
264   TestConstraintEqual.py
265   TestConstraintEqualEllipse.py
266   TestConstraintFixed.py
267   TestConstraintHorizontal.py
268   TestConstraintHorizontalValidator.py
269   TestConstraintLength.py
270   TestConstraintMiddlePoint.py
271   TestConstraintMiddlePointOnArc.py
272   TestConstraintMiddlePointOnEllipticArc.py
273   TestConstraintParallel.py
274   TestConstraintPerpendicular.py
275   TestConstraintPerpendicularArcLine.py
276   TestConstraintPerpendicularEllipseLine.py
277   TestConstraintRadius.py
278   TestConstraintRadiusFailure.py
279   TestConstraintTangent.py
280   TestConstraintTangentBSpline.py
281   TestConstraintTangentEllipse.py
282   TestConstraintTangentEllipticArc.py
283   TestConstraintVertical.py
284   TestCreateArcByCenterStartEnd.py
285   TestCreateArcByTangentEdge.py
286   TestCreateArcByThreePoints.py
287   TestCreateArcByTransversalLine.py
288   TestCreateArcChangeType.py
289   TestCreateBSpline.py
290   TestCreateBSplinePeriodic.py
291   TestCreateCircleByCenterAndPassed.py
292   TestCreateCircleByThreePoints.py
293   TestCreateCircleChangeType.py
294   TestCreateEllipseByCenterSemiaxisAndPassed.py
295   TestCreateEllipseByMajorAxisAndPassed.py
296   TestCreateEllipseByExternal.py
297   TestCreateEllipticArc.py
298   TestCreateEllipticArcByExternal.py
299   TestCreateMacroBSpline.py
300   TestDegeneratedGeometry.py
301   TestDistanceDump.py
302   TestDistanceSignedVsUnsigned01.py
303   TestDistanceSignedVsUnsigned02.py
304   TestDistanceSignedVsUnsigned03.py
305   TestDistanceSignedVsUnsigned04.py
306   TestDistanceSignedVsUnsigned05.py
307   TestEdgesOrder.py
308   TestFillet.py
309   TestFilletAfterFolder.py
310   TestFilletInteracting.py
311   TestHighload.py
312   TestIntersectionChangeEdge.py
313   TestIntersectionWithCircle.py
314   TestIntersectionWithLine.py
315   TestIntersectionWithSpline.py
316   TestMirror.py
317   TestMultiRotation.py
318   TestMultiRotation01.py
319   TestMultiRotation02.py
320   TestMultiRotation03.py
321   TestMultiRotation04.py
322   TestMultiRotation05.py
323   TestMultiRotationWithParameter.py
324   TestMultiTranslation.py
325   TestPresentation.py
326   TestProjection.py
327   TestProjectionBSpline.py
328   TestProjectionBSplinePeriodic.py
329   TestProjectionEllipse.py
330   TestProjectionEllipticArc.py
331   TestProjectionIntoResult.py
332   TestProjectionUpdate.py
333   TestRectangle.py
334   TestRemainingDoF.py
335   TestRemoveBSpline.py
336   TestRemoveBSplinePeriodic.py
337   TestRemoveEllipse.py
338   TestRemoveEllipticArc.py
339   TestRemoveSketch.py
340   TestSignedDistancePointLine.py
341   TestSignedDistancePointPoint.py
342   TestSketchCopy01.py
343   TestSketchCopy02.py
344   TestSketchCopy03.py
345   TestSketchCopy04.py
346   TestSketchCopy05.py
347   TestSketchCopy06.py
348   TestSketchCopy07.py
349   TestSketchCopy08.py
350   TestSketchCopy09.py
351   TestSketchCopy10.py
352   TestSketchCopy11.py
353   TestSketchCopy12.py
354   TestSketchCopy13.py
355   TestSketchCopy14.py
356   TestSketchDrawer.py
357   TestSketchPointLine.py
358   TestSnowflake.py
359   TestSplit.py
360   TestSplitEllipse.py
361   TestSplitLine.py
362   TestSplitPreview.py
363   TestTrimArc01.py
364   TestTrimArc02.py
365   TestTrimArc03.py
366   TestTrimArc04.py
367   TestTrimArc05.py
368   TestTrimArc06.py
369   TestTrimArc07.py
370   TestTrimArc08.py
371   TestTrimCircle01.py
372   TestTrimCircle02.py
373   TestTrimCircle03.py
374   TestTrimCircle04.py
375   TestTrimCircle05.py
376   TestTrimCircleAndArc01.py
377   TestTrimEllipse.py
378   TestTrimLine01.py
379   TestTrimLine02.py
380   TestTrimLine03.py
381   TestTrimPreview.py
382   TestUpdateSketch.py
383 )
384
385 if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
386   ADD_UNIT_TESTS(
387     TestMoveArc.py
388     TestMoveBSpline.py
389     TestMoveBSplinePeriodic.py
390     TestMoveCircle.py
391     TestMoveEllipse.py
392     TestMoveEllipticArc.py
393     TestMoveLine.py
394     TestMovementComplex.py
395     TestMovePoint.py
396   )
397 endif()