Salome HOME
bos #29468: Advanced geometry features: distance Edge-Edge & Face-Face
[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_IProximity.hxx
99   GEOMImpl_IMarker.hxx
100   GEOMImpl_ITranslate.hxx
101   GEOMImpl_IMirror.hxx
102   GEOMImpl_IProjection.hxx
103   GEOMImpl_IProjOnCyl.hxx
104   GEOMImpl_IOffset.hxx
105   GEOMImpl_IScale.hxx
106   GEOMImpl_IRotate.hxx
107   GEOMImpl_IPosition.hxx
108   GEOMImpl_IHealing.hxx
109   GEOMImpl_IImportExport.hxx
110   GEOMImpl_IBox.hxx
111   GEOMImpl_IBlocks.hxx
112   GEOMImpl_IBlockTrsf.hxx
113   GEOMImpl_IBoolean.hxx
114   GEOMImpl_ICylinder.hxx
115   GEOMImpl_ICone.hxx
116   GEOMImpl_ISphere.hxx
117   GEOMImpl_ITorus.hxx
118   GEOMImpl_ITransferData.hxx
119   GEOMImpl_IPrism.hxx
120   GEOMImpl_IPipe.hxx
121   GEOMImpl_IPipePath.hxx
122   GEOMImpl_IRevolution.hxx
123   GEOMImpl_IMeasure.hxx
124   GEOMImpl_IConformity.hxx
125   GEOMImpl_IShapes.hxx
126   GEOMImpl_IShapeExtend.hxx
127   GEOMImpl_IFilling.hxx
128   GEOMImpl_IThruSections.hxx
129   GEOMImpl_IPartition.hxx
130   GEOMImpl_IPipeDiffSect.hxx
131   GEOMImpl_IPipeShellSect.hxx
132   GEOMImpl_IPipeBiNormal.hxx
133   GEOMImpl_ICurveParametric.hxx
134   GEOMImpl_IIsoline.hxx
135   GEOMImpl_VectorDriver.hxx
136   GEOMImpl_LineDriver.hxx
137   GEOMImpl_DiskDriver.hxx
138   GEOMImpl_FaceDriver.hxx
139   GEOMImpl_PlaneDriver.hxx
140   GEOMImpl_MarkerDriver.hxx
141   GEOMImpl_TranslateDriver.hxx
142   GEOMImpl_MirrorDriver.hxx
143   GEOMImpl_ProjectionDriver.hxx
144   GEOMImpl_OffsetDriver.hxx
145   GEOMImpl_ScaleDriver.hxx
146   GEOMImpl_PositionDriver.hxx
147   GEOMImpl_BoxDriver.hxx
148   GEOMImpl_ConeDriver.hxx
149   GEOMImpl_CylinderDriver.hxx
150   GEOMImpl_SphereDriver.hxx
151   GEOMImpl_TorusDriver.hxx
152   GEOMImpl_PrismDriver.hxx
153   GEOMImpl_PipeDriver.hxx
154   GEOMImpl_PipePathDriver.hxx
155   GEOMImpl_ThruSectionsDriver.hxx
156   GEOMImpl_RevolutionDriver.hxx
157   GEOMImpl_ShapeDriver.hxx
158   GEOMImpl_BlockDriver.hxx
159   GEOMImpl_Block6Explorer.hxx
160   GEOMImpl_MeasureDriver.hxx
161   GEOMImpl_ConformityDriver.hxx
162   GEOMImpl_PolylineDriver.hxx
163   GEOMImpl_PolylineDumper.hxx
164   GEOMImpl_CircleDriver.hxx
165   GEOMImpl_EllipseDriver.hxx
166   GEOMImpl_ArcDriver.hxx
167   GEOMImpl_SplineDriver.hxx
168   GEOMImpl_SketcherDriver.hxx
169   GEOMImpl_3DSketcherDriver.hxx
170   GEOMImpl_FilletDriver.hxx
171   GEOMImpl_Fillet1d.hxx
172   GEOMImpl_Fillet1dDriver.hxx
173   GEOMImpl_Fillet2dDriver.hxx
174   GEOMImpl_ChamferDriver.hxx
175   GEOMImpl_BooleanDriver.hxx
176   GEOMImpl_PartitionDriver.hxx
177   GEOMImpl_CopyDriver.hxx
178   GEOMImpl_ExportDriver.hxx
179   GEOMImpl_ImportDriver.hxx
180   GEOMImpl_RotateDriver.hxx
181   GEOMImpl_ArchimedeDriver.hxx
182   GEOMImpl_HealingDriver.hxx
183   GEOMImpl_FillingDriver.hxx
184   GEOMImpl_GlueDriver.hxx
185   GEOMImpl_PatchFaceDriver.hxx
186   GEOMImpl_ShapeProximityDriver.hxx
187   GEOMImpl_Types.hxx
188   GEOM_GEOMImpl.hxx
189   GEOMImpl_ICanonicalRecognition.hxx
190   )
191 # --- sources ---
192
193 SET(GEOMImpl_SOURCES
194   GEOMImpl_IBasicOperations.cxx
195   GEOMImpl_ITransformOperations.cxx
196   GEOMImpl_IHealingOperations.cxx
197   GEOMImpl_I3DPrimOperations.cxx
198   GEOMImpl_IShapesOperations.cxx
199   GEOMImpl_IBlocksOperations.cxx
200   GEOMImpl_IBooleanOperations.cxx
201   GEOMImpl_ICurvesOperations.cxx
202   GEOMImpl_ILocalOperations.cxx
203   GEOMImpl_IInsertOperations.cxx
204   GEOMImpl_IECallBack.cxx
205   GEOMImpl_IMeasureOperations.cxx
206   GEOMImpl_IGroupOperations.cxx
207   GEOMImpl_IFieldOperations.cxx
208   GEOMImpl_IBaseIEOperations.cxx
209   GEOMImpl_ITestOperations.cxx
210   GEOMImpl_IPolyline2D.cxx
211   GEOMImpl_ITransferData.cxx
212   GEOMImpl_IConformity.cxx
213   GEOMImpl_Gen.cxx
214   GEOMImpl_PointDriver.cxx
215   GEOMImpl_VectorDriver.cxx
216   GEOMImpl_LineDriver.cxx
217   GEOMImpl_PlaneDriver.cxx
218   GEOMImpl_MarkerDriver.cxx
219   GEOMImpl_TranslateDriver.cxx
220   GEOMImpl_MirrorDriver.cxx
221   GEOMImpl_ProjectionDriver.cxx
222   GEOMImpl_OffsetDriver.cxx
223   GEOMImpl_ScaleDriver.cxx
224   GEOMImpl_PositionDriver.cxx
225   GEOMImpl_BoxDriver.cxx
226   GEOMImpl_FaceDriver.cxx
227   GEOMImpl_DiskDriver.cxx
228   GEOMImpl_ConeDriver.cxx
229   GEOMImpl_CylinderDriver.cxx
230   GEOMImpl_SphereDriver.cxx
231   GEOMImpl_TorusDriver.cxx
232   GEOMImpl_PrismDriver.cxx
233   GEOMImpl_PipeDriver.cxx
234   GEOMImpl_PipePathDriver.cxx
235   GEOMImpl_ThruSectionsDriver.cxx
236   GEOMImpl_RevolutionDriver.cxx
237   GEOMImpl_ShapeDriver.cxx
238   GEOMImpl_BlockDriver.cxx
239   GEOMImpl_Block6Explorer.cxx
240   GEOMImpl_MeasureDriver.cxx
241   GEOMImpl_ConformityDriver.cxx
242   GEOMImpl_PolylineDriver.cxx
243   GEOMImpl_PolylineDumper.cxx
244   GEOMImpl_CircleDriver.cxx
245   GEOMImpl_EllipseDriver.cxx
246   GEOMImpl_ArcDriver.cxx
247   GEOMImpl_SplineDriver.cxx
248   GEOMImpl_SketcherDriver.cxx
249   GEOMImpl_3DSketcherDriver.cxx
250   GEOMImpl_FilletDriver.cxx
251   GEOMImpl_Fillet1d.cxx
252   GEOMImpl_Fillet1dDriver.cxx
253   GEOMImpl_Fillet2dDriver.cxx
254   GEOMImpl_ChamferDriver.cxx
255   GEOMImpl_BooleanDriver.cxx
256   GEOMImpl_PartitionDriver.cxx
257   GEOMImpl_CopyDriver.cxx
258   GEOMImpl_ExportDriver.cxx
259   GEOMImpl_ImportDriver.cxx
260   GEOMImpl_RotateDriver.cxx
261   GEOMImpl_ArchimedeDriver.cxx
262   GEOMImpl_HealingDriver.cxx
263   GEOMImpl_FillingDriver.cxx
264   GEOMImpl_GlueDriver.cxx
265   GEOMImpl_PatchFaceDriver.cxx
266   GEOMImpl_ShapeProximityDriver.cxx
267   GEOMImpl_FieldDriver.cxx
268   GEOMImpl_ICanonicalRecognition.cxx
269   )
270
271 # --- rules ---
272
273 ADD_LIBRARY(GEOMImpl ${GEOMImpl_SOURCES})
274 TARGET_LINK_LIBRARIES(GEOMImpl ${_link_LIBRARIES})
275 INSTALL(TARGETS GEOMImpl EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
276
277 INSTALL(FILES ${GEOMImpl_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})