Salome HOME
34ddf4b9a3c9e0d9c21b307c5e5fe53a1211a017
[modules/shaper.git] / src / SketchPlugin / 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     SketchPlugin.h
26     SketchPlugin_Arc.h
27     SketchPlugin_Circle.h
28     SketchPlugin_Constraint.h
29     SketchPlugin_ConstraintAngle.h
30     SketchPlugin_ConstraintBase.h
31     SketchPlugin_ConstraintCoincidence.h
32     SketchPlugin_ConstraintCollinear.h
33     SketchPlugin_ConstraintDistance.h
34     SketchPlugin_ConstraintDistanceAlongDir.h
35     SketchPlugin_ConstraintDistanceHorizontal.h
36     SketchPlugin_ConstraintDistanceVertical.h
37     SketchPlugin_ConstraintEqual.h
38     SketchPlugin_Fillet.h
39     SketchPlugin_ConstraintHorizontal.h
40     SketchPlugin_ConstraintLength.h
41     SketchPlugin_ConstraintMiddle.h
42     SketchPlugin_ConstraintMirror.h
43     SketchPlugin_ConstraintParallel.h
44     SketchPlugin_ConstraintPerpendicular.h
45     SketchPlugin_ConstraintRadius.h
46     SketchPlugin_ConstraintRigid.h
47     SketchPlugin_ConstraintTangent.h
48     SketchPlugin_ConstraintVertical.h
49     SketchPlugin_Ellipse.h
50     SketchPlugin_ExternalValidator.h
51     SketchPlugin_Feature.h
52     SketchPlugin_IntersectionPoint.h
53     SketchPlugin_Line.h
54     SketchPlugin_MacroArc.h
55     SketchPlugin_MacroArcReentrantMessage.h
56     SketchPlugin_MacroCircle.h
57     SketchPlugin_MacroEllipse.h
58     SketchPlugin_MultiRotation.h
59     SketchPlugin_MultiTranslation.h
60     SketchPlugin_Plugin.h
61     SketchPlugin_Point.h
62     SketchPlugin_Projection.h
63     SketchPlugin_Sketch.h
64     SketchPlugin_SketchEntity.h
65     SketchPlugin_Split.h
66     SketchPlugin_Tools.h
67     SketchPlugin_Trim.h
68     SketchPlugin_Validators.h
69 )
70
71 SET(PROJECT_SOURCES
72     SketchPlugin_Arc.cpp
73     SketchPlugin_Circle.cpp
74     SketchPlugin_Constraint.cpp
75     SketchPlugin_ConstraintAngle.cpp
76     SketchPlugin_ConstraintBase.cpp
77     SketchPlugin_ConstraintCoincidence.cpp
78     SketchPlugin_ConstraintCollinear.cpp
79     SketchPlugin_ConstraintDistance.cpp
80     SketchPlugin_ConstraintDistanceAlongDir.cpp
81     SketchPlugin_ConstraintDistanceHorizontal.cpp
82     SketchPlugin_ConstraintDistanceVertical.cpp
83     SketchPlugin_ConstraintEqual.cpp
84     SketchPlugin_Fillet.cpp
85     SketchPlugin_ConstraintHorizontal.cpp
86     SketchPlugin_ConstraintLength.cpp
87     SketchPlugin_ConstraintMiddle.cpp
88     SketchPlugin_ConstraintMirror.cpp
89     SketchPlugin_ConstraintParallel.cpp
90     SketchPlugin_ConstraintPerpendicular.cpp
91     SketchPlugin_ConstraintRadius.cpp
92     SketchPlugin_ConstraintRigid.cpp
93     SketchPlugin_ConstraintTangent.cpp
94     SketchPlugin_ConstraintVertical.cpp
95     SketchPlugin_Ellipse.cpp
96     SketchPlugin_ExternalValidator.cpp
97     SketchPlugin_Feature.cpp
98     SketchPlugin_IntersectionPoint.cpp
99     SketchPlugin_Line.cpp
100     SketchPlugin_MacroArc.cpp
101     SketchPlugin_MacroCircle.cpp
102     SketchPlugin_MacroEllipse.cpp
103     SketchPlugin_MultiRotation.cpp
104     SketchPlugin_MultiTranslation.cpp
105     SketchPlugin_Plugin.cpp
106     SketchPlugin_Point.cpp
107     SketchPlugin_Projection.cpp
108     SketchPlugin_Sketch.cpp
109     SketchPlugin_SketchEntity.cpp
110     SketchPlugin_Split.cpp
111     SketchPlugin_Tools.cpp
112     SketchPlugin_Trim.cpp
113     SketchPlugin_Validators.cpp
114 )
115
116 SET(PROJECT_LIBRARIES
117     Config
118     GeomAPI
119     GeomAlgoAPI
120     ModelAPI
121     ModelGeomAlgo
122     SketcherPrs
123     GeomDataAPI
124 )
125
126 SET(XML_RESOURCES
127   plugin-Sketch.xml
128 )
129
130 SET(TEXT_RESOURCES
131         SketchPlugin_msg_en.ts
132 )
133
134 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
135
136 ADD_DEFINITIONS(-DSKETCHPLUGIN_EXPORTS)
137 ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
138 TARGET_LINK_LIBRARIES(SketchPlugin ${PROJECT_LIBRARIES})
139
140 INCLUDE_DIRECTORIES(
141   ../Config
142   ../Events
143   ../ModelAPI
144   ../ModelGeomAlgo
145   ../GeomAPI
146   ../GeomAlgoAPI
147   ../GeomDataAPI
148   ../SketcherPrs
149 )
150
151 INSTALL(TARGETS SketchPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
152 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
153 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Sketch)
154 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
155
156 ADD_UNIT_TESTS(TestSketchPointLine.py
157                TestCreateArcByCenterStartEnd.py
158                TestCreateArcByThreePoints.py
159                TestCreateArcByTangentEdge.py
160                TestCreateArcChangeType.py
161                TestCreateCircleByCenterAndPassed.py
162                TestCreateCircleByThreePoints.py
163                TestCreateCircleChangeType.py
164                TestConstraintCoincidence.py
165                TestConstraintCollinear.py
166                TestConstraintLength.py
167                TestConstraintDistance.py
168                TestConstraintDistanceHorizontal.py
169                TestConstraintDistanceVertical.py
170                TestConstraintDistanceBehavior.py
171                TestConstraintParallel.py
172                TestConstraintPerpendicular.py
173                TestConstraintRadius.py
174                TestConstraintFixed.py
175                TestConstraintHorizontal.py
176                TestConstraintHorizontalValidator.py
177                TestConstraintVertical.py
178                TestConstraintEqual.py
179                TestConstraintTangent.py
180                TestConstraintAngle.py
181                TestConstraintMiddlePoint.py
182                TestEdgesOrder.py
183                TestMirror.py
184                TestMultiRotation.py
185                TestMultiTranslation.py
186                TestMultiRotationWithParameter.py
187                TestFillet.py
188                TestFilletInteracting.py
189                TestRectangle.py
190                TestProjection.py
191                TestProjectionIntoResult.py
192                TestSplit.py
193                TestHighload.py
194                TestSnowflake.py
195                TestArcBehavior.py
196                TestRemoveSketch.py
197                Test1061.py
198                Test1673.py
199                Test1924.py
200                Test1966.py
201                Test1967.py
202                Test2062.py
203                Test2095.py
204                Test2115.py
205                TestTrimArc01.py
206                TestTrimArc02.py
207                TestTrimArc03.py
208                TestTrimArc04.py
209                TestTrimArc05.py
210                TestTrimArc06.py
211                TestTrimArc07.py
212                TestTrimCircle01.py
213                TestTrimCircle02.py
214                TestTrimCircle03.py
215                TestTrimCircle04.py
216                TestTrimCircle05.py
217                TestTrimCircleAndArc01.py
218                TestTrimLine01.py
219                TestTrimLine02.py
220                Test2229.py
221                Test2239.py
222                TestDistanceDump.py
223                TestDistanceSignedVsUnsigned01.py
224                TestDistanceSignedVsUnsigned02.py
225                TestDistanceSignedVsUnsigned03.py
226                TestDistanceSignedVsUnsigned04.py
227                TestDistanceSignedVsUnsigned05.py
228                TestSignedDistancePointPoint.py
229                TestSignedDistancePointLine.py
230                Test2273.py
231                Test2280.py
232                Test2287.py
233                Test2341.py
234                Test2390.py
235                Test2393.py
236                Test2425.py
237                Test2440.py
238                Test2157.py
239 )
240
241 if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
242   ADD_UNIT_TESTS(
243                TestMovePoint.py
244                TestMoveLine.py
245                TestMoveCircle.py
246                TestMoveArc.py
247                TestMovementComplex.py
248   )
249 endif()
250
251 # Copy data-files to corresponding directory
252 file(GLOB DATA_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Test/Data/*")
253 foreach(data_file ${DATA_FILES})
254   get_filename_component(data_file_name "${data_file}" NAME)
255   configure_file(
256     ${data_file}
257     ${CMAKE_CURRENT_BINARY_DIR}/Data/${data_file_name}
258     COPYONLY)
259 endforeach()