Salome HOME
bos #29469: Advanced geometry features: Detect type of shape
[modules/geom.git] / src / GEOMImpl / CMakeLists.txt
1 # Copyright (C) 2012-2022  CEA/DEN, EDF R&D, OPEN CASCADE
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 # --- options ---
21
22 # additional include directories
23 INCLUDE_DIRECTORIES(
24   ${OpenCASCADE_INCLUDE_DIR}
25   ${PTHREAD_INCLUDE_DIR}
26   ${KERNEL_INCLUDE_DIRS}
27   ${PYTHON_INCLUDE_DIRS}
28   ${PROJECT_SOURCE_DIR}/src/ShHealOper
29   ${PROJECT_SOURCE_DIR}/src/GEOM 
30   ${PROJECT_SOURCE_DIR}/src/BlockFix
31   ${PROJECT_SOURCE_DIR}/src/GEOMAlgo 
32   ${PROJECT_SOURCE_DIR}/src/GEOMUtils
33   ${PROJECT_SOURCE_DIR}/src/SKETCHER
34   ${PROJECT_SOURCE_DIR}/src/ARCHIMEDE
35   ${PROJECT_SOURCE_DIR}/src/XAO
36   ${PROJECT_SOURCE_DIR}/src/ShHealOper
37   ${CMAKE_CURRENT_SOURCE_DIR}
38   )
39
40 # additional preprocessor / compiler flags
41 ADD_DEFINITIONS(
42   ${OpenCASCADE_DEFINITIONS}
43   ${PYTHON_DEFINITIONS}
44   )
45
46 # libraries to link to
47 SET(_link_LIBRARIES
48   ${OpenCASCADE_ModelingAlgorithms_LIBRARIES}
49   ${PYTHON_LIBRARIES}
50   ShHealOper GEOMbasic BlockFix GEOMAlgo GEOMUtils GEOMSketcher GEOMArchimede XAO
51   ${KERNEL_SALOMELocalTrace}
52   )
53
54 # --- headers ---
55
56 SET(GEOMImpl_HEADERS
57   GEOMImpl_Gen.hxx
58   GEOMImpl_IBasicOperations.hxx
59   GEOMImpl_ITransformOperations.hxx
60   GEOMImpl_IHealingOperations.hxx
61   GEOMImpl_I3DPrimOperations.hxx
62   GEOMImpl_IShapesOperations.hxx
63   GEOMImpl_IBlocksOperations.hxx
64   GEOMImpl_IBooleanOperations.hxx
65   GEOMImpl_ICurvesOperations.hxx
66   GEOMImpl_ILocalOperations.hxx
67   GEOMImpl_IInsertOperations.hxx
68   GEOMImpl_IECallBack.hxx
69   GEOMImpl_IMeasureOperations.hxx
70   GEOMImpl_IGroupOperations.hxx
71   GEOMImpl_IFieldOperations.hxx
72   GEOMImpl_IBaseIEOperations.hxx
73   GEOMImpl_ITestOperations.hxx
74   GEOMImpl_IGlue.hxx
75   GEOMImpl_PointDriver.hxx
76   GEOMImpl_IPoint.hxx
77   GEOMImpl_IPolyline.hxx
78   GEOMImpl_IPolyline2D.hxx
79   GEOMImpl_ICircle.hxx
80   GEOMImpl_ISpline.hxx
81   GEOMImpl_IEllipse.hxx
82   GEOMImpl_IExtract.hxx
83   GEOMImpl_IFillet.hxx
84   GEOMImpl_IFillet1d.hxx
85   GEOMImpl_IFillet2d.hxx
86   GEOMImpl_IChamfer.hxx
87   GEOMImpl_ICopy.hxx
88   GEOMImpl_IArchimede.hxx
89   GEOMImpl_IArc.hxx
90   GEOMImpl_ISketcher.hxx
91   GEOMImpl_I3DSketcher.hxx
92   GEOMImpl_IVector.hxx
93   GEOMImpl_IDisk.hxx
94   GEOMImpl_IFace.hxx
95   GEOMImpl_ILine.hxx
96   GEOMImpl_IPatchFace.hxx
97   GEOMImpl_IPlane.hxx
98   GEOMImpl_IMarker.hxx
99   GEOMImpl_ITranslate.hxx
100   GEOMImpl_IMirror.hxx
101   GEOMImpl_IProjection.hxx
102   GEOMImpl_IProjOnCyl.hxx
103   GEOMImpl_IOffset.hxx
104   GEOMImpl_IScale.hxx
105   GEOMImpl_IRotate.hxx
106   GEOMImpl_IPosition.hxx
107   GEOMImpl_IHealing.hxx
108   GEOMImpl_IImportExport.hxx
109   GEOMImpl_IBox.hxx
110   GEOMImpl_IBlocks.hxx
111   GEOMImpl_IBlockTrsf.hxx
112   GEOMImpl_IBoolean.hxx
113   GEOMImpl_ICylinder.hxx
114   GEOMImpl_ICone.hxx
115   GEOMImpl_ISphere.hxx
116   GEOMImpl_ITorus.hxx
117   GEOMImpl_ITransferData.hxx
118   GEOMImpl_IPrism.hxx
119   GEOMImpl_IPipe.hxx
120   GEOMImpl_IPipePath.hxx
121   GEOMImpl_IRevolution.hxx
122   GEOMImpl_IMeasure.hxx
123   GEOMImpl_IShapes.hxx
124   GEOMImpl_IShapeExtend.hxx
125   GEOMImpl_IFilling.hxx
126   GEOMImpl_IThruSections.hxx
127   GEOMImpl_IPartition.hxx
128   GEOMImpl_IPipeDiffSect.hxx
129   GEOMImpl_IPipeShellSect.hxx
130   GEOMImpl_IPipeBiNormal.hxx
131   GEOMImpl_ICurveParametric.hxx
132   GEOMImpl_IIsoline.hxx
133   GEOMImpl_VectorDriver.hxx
134   GEOMImpl_LineDriver.hxx
135   GEOMImpl_DiskDriver.hxx
136   GEOMImpl_FaceDriver.hxx
137   GEOMImpl_PlaneDriver.hxx
138   GEOMImpl_MarkerDriver.hxx
139   GEOMImpl_TranslateDriver.hxx
140   GEOMImpl_MirrorDriver.hxx
141   GEOMImpl_ProjectionDriver.hxx
142   GEOMImpl_OffsetDriver.hxx
143   GEOMImpl_ScaleDriver.hxx
144   GEOMImpl_PositionDriver.hxx
145   GEOMImpl_BoxDriver.hxx
146   GEOMImpl_ConeDriver.hxx
147   GEOMImpl_CylinderDriver.hxx
148   GEOMImpl_SphereDriver.hxx
149   GEOMImpl_TorusDriver.hxx
150   GEOMImpl_PrismDriver.hxx
151   GEOMImpl_PipeDriver.hxx
152   GEOMImpl_PipePathDriver.hxx
153   GEOMImpl_ThruSectionsDriver.hxx
154   GEOMImpl_RevolutionDriver.hxx
155   GEOMImpl_ShapeDriver.hxx
156   GEOMImpl_BlockDriver.hxx
157   GEOMImpl_Block6Explorer.hxx
158   GEOMImpl_MeasureDriver.hxx
159   GEOMImpl_PolylineDriver.hxx
160   GEOMImpl_PolylineDumper.hxx
161   GEOMImpl_CircleDriver.hxx
162   GEOMImpl_EllipseDriver.hxx
163   GEOMImpl_ArcDriver.hxx
164   GEOMImpl_SplineDriver.hxx
165   GEOMImpl_SketcherDriver.hxx
166   GEOMImpl_3DSketcherDriver.hxx
167   GEOMImpl_FilletDriver.hxx
168   GEOMImpl_Fillet1d.hxx
169   GEOMImpl_Fillet1dDriver.hxx
170   GEOMImpl_Fillet2dDriver.hxx
171   GEOMImpl_ChamferDriver.hxx
172   GEOMImpl_BooleanDriver.hxx
173   GEOMImpl_PartitionDriver.hxx
174   GEOMImpl_CopyDriver.hxx
175   GEOMImpl_ExportDriver.hxx
176   GEOMImpl_ImportDriver.hxx
177   GEOMImpl_RotateDriver.hxx
178   GEOMImpl_ArchimedeDriver.hxx
179   GEOMImpl_HealingDriver.hxx
180   GEOMImpl_FillingDriver.hxx
181   GEOMImpl_GlueDriver.hxx
182   GEOMImpl_PatchFaceDriver.hxx
183   GEOMImpl_Types.hxx
184   GEOM_GEOMImpl.hxx
185   GEOMImpl_ICanonicalRecognition.hxx
186   )
187 # --- sources ---
188
189 SET(GEOMImpl_SOURCES
190   GEOMImpl_IBasicOperations.cxx
191   GEOMImpl_ITransformOperations.cxx
192   GEOMImpl_IHealingOperations.cxx
193   GEOMImpl_I3DPrimOperations.cxx
194   GEOMImpl_IShapesOperations.cxx
195   GEOMImpl_IBlocksOperations.cxx
196   GEOMImpl_IBooleanOperations.cxx
197   GEOMImpl_ICurvesOperations.cxx
198   GEOMImpl_ILocalOperations.cxx
199   GEOMImpl_IInsertOperations.cxx
200   GEOMImpl_IECallBack.cxx
201   GEOMImpl_IMeasureOperations.cxx
202   GEOMImpl_IGroupOperations.cxx
203   GEOMImpl_IFieldOperations.cxx
204   GEOMImpl_IBaseIEOperations.cxx
205   GEOMImpl_ITestOperations.cxx
206   GEOMImpl_IPolyline2D.cxx
207   GEOMImpl_ITransferData.cxx
208   GEOMImpl_Gen.cxx
209   GEOMImpl_PointDriver.cxx
210   GEOMImpl_VectorDriver.cxx
211   GEOMImpl_LineDriver.cxx
212   GEOMImpl_PlaneDriver.cxx
213   GEOMImpl_MarkerDriver.cxx
214   GEOMImpl_TranslateDriver.cxx
215   GEOMImpl_MirrorDriver.cxx
216   GEOMImpl_ProjectionDriver.cxx
217   GEOMImpl_OffsetDriver.cxx
218   GEOMImpl_ScaleDriver.cxx
219   GEOMImpl_PositionDriver.cxx
220   GEOMImpl_BoxDriver.cxx
221   GEOMImpl_FaceDriver.cxx
222   GEOMImpl_DiskDriver.cxx
223   GEOMImpl_ConeDriver.cxx
224   GEOMImpl_CylinderDriver.cxx
225   GEOMImpl_SphereDriver.cxx
226   GEOMImpl_TorusDriver.cxx
227   GEOMImpl_PrismDriver.cxx
228   GEOMImpl_PipeDriver.cxx
229   GEOMImpl_PipePathDriver.cxx
230   GEOMImpl_ThruSectionsDriver.cxx
231   GEOMImpl_RevolutionDriver.cxx
232   GEOMImpl_ShapeDriver.cxx
233   GEOMImpl_BlockDriver.cxx
234   GEOMImpl_Block6Explorer.cxx
235   GEOMImpl_MeasureDriver.cxx
236   GEOMImpl_PolylineDriver.cxx
237   GEOMImpl_PolylineDumper.cxx
238   GEOMImpl_CircleDriver.cxx
239   GEOMImpl_EllipseDriver.cxx
240   GEOMImpl_ArcDriver.cxx
241   GEOMImpl_SplineDriver.cxx
242   GEOMImpl_SketcherDriver.cxx
243   GEOMImpl_3DSketcherDriver.cxx
244   GEOMImpl_FilletDriver.cxx
245   GEOMImpl_Fillet1d.cxx
246   GEOMImpl_Fillet1dDriver.cxx
247   GEOMImpl_Fillet2dDriver.cxx
248   GEOMImpl_ChamferDriver.cxx
249   GEOMImpl_BooleanDriver.cxx
250   GEOMImpl_PartitionDriver.cxx
251   GEOMImpl_CopyDriver.cxx
252   GEOMImpl_ExportDriver.cxx
253   GEOMImpl_ImportDriver.cxx
254   GEOMImpl_RotateDriver.cxx
255   GEOMImpl_ArchimedeDriver.cxx
256   GEOMImpl_HealingDriver.cxx
257   GEOMImpl_FillingDriver.cxx
258   GEOMImpl_GlueDriver.cxx
259   GEOMImpl_PatchFaceDriver.cxx
260   GEOMImpl_FieldDriver.cxx
261   GEOMImpl_ICanonicalRecognition.cxx
262   )
263
264 # --- rules ---
265
266 ADD_LIBRARY(GEOMImpl ${GEOMImpl_SOURCES})
267 TARGET_LINK_LIBRARIES(GEOMImpl ${_link_LIBRARIES})
268 INSTALL(TARGETS GEOMImpl EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
269
270 INSTALL(FILES ${GEOMImpl_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})