updated to modern VTK
[engrid-github.git] / src / libengrid / CMakeLists.txt
blobbc4ca1e30daeefdcc233af653784ebc2c83d832f
1 # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 # +                                                                      +
3 # + This file is part of enGrid.                                         +
4 # +                                                                      +
5 # + Copyright 2008-2014 enGits GmbH                                      +
6 # +                                                                      +
7 # + enGrid is free software: you can redistribute it and/or modify       +
8 # + it under the terms of the GNU General Public License as published by +
9 # + the Free Software Foundation, either version 3 of the License, or    +
10 # + (at your option) any later version.                                  +
11 # +                                                                      +
12 # + enGrid is distributed in the hope that it will be useful,            +
13 # + but WITHOUT ANY WARRANTY; without even the implied warranty of       +
14 # + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        +
15 # + GNU General Public License for more details.                         +
16 # +                                                                      +
17 # + You should have received a copy of the GNU General Public License    +
18 # + along with enGrid. If not, see <http://www.gnu.org/licenses/>.       +
19 # +                                                                      +
20 # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTETLIBRARY")
24 SET(libengrid_HEADERS
25   blenderreader.h
26   blenderwriter.h
27   boundarycondition.h
28   boundarylayeroperation.h
29   boxselect.h
30   cadinterface.h
31   celllayeriterator.h
32   cellneighbouriterator.h
33   cgaltricadinterface.h
34   cgnswriter.h
35   checkerboardgraphiterator.h
36   checkforoverlap.h
37   checksurfaceintegrity.h
38   containertricks.h
39   correctsurfaceorientation.h
40   createboundarylayershell.h
41   createcadtesselation.h
42   createhexcore.h
43   createvolumemesh.h
44   curve.h
45   deletecells.h
46   deletepickedcell.h
47   deletepickedpoint.h
48   deletestraynodes.h
49   deletetetras.h
50   deletevolumegrid.h
51   dialoglineedit.h
52   dialogoperation.h
53   dolfynwriter.h
54   edgelengthsource.h
55   edgelengthsourcemanager.h
56   eghashset.h
57   egvtkinteractorstyle.h
58   egvtkobject.h
59   elements.h
60   eliminatesmallbranches.h
61   engrid.h
62   engrid_version.h
63   error.h
64   facefinder.h
65   filetemplate.h
66   fixcadgeometry.h
67   fixstl.h
68   solverobject.h
69   foamreader.h
70   foamwriter.h
71   geometrysmoother.h
72   geometrytools.h
73   globalnodegraphinterface.h
74   gmshiooperation.h
75   gmshreader.h
76   gmshwriter.h
77   gridsmoother.h
78   guicreateboundarylayer.h
79   guicreatehexcore.h
80   guicreatesurfacemesh.h
81   guicreatevolumemesh.h
82   guideletebadaspecttris.h
83   guidivideboundarylayer.h
84   guiedgelengthsourcebox.h
85   guiedgelengthsourcecone.h
86   guiedgelengthsourcepipe.h
87   guiedgelengthsourcesphere.h
88   guieditboundaryconditions.h
89   guiimproveaspectratio.h
90   guimainwindow.h
91   guimergevolumes.h
92   guimirrormesh.h
93   guinormalextrusion.h
94   guipick.h
95   guiselectboundarycodes.h
96   guisetboundarycode.h
97   guisettingstab.h
98   guisettingsviewer.h
99   guisurfacemesher.h
100   guitransform.h
101   guivolumedelegate.h
102   guiypluscalculator.h
103   insertpoints.h
104   iooperation.h
105   iterator.h
106   laplacesmoother.h
107   layeriterator.h
108   localnodegraphinterface.h
109   ../math/linsolve.h
110   ../math/mathvector.h
111   ../math/mathvector_methods.h
112   ../math/mathvector_operators.h
113   ../math/mathvector_structs.h
114   ../math/smallsquarematrix.h
115   mergenodes.h
116   meshpartition.h
117   meshqualityfaceorientation.h
118   meshquality.h
119   multipagewidget.h
120   multipagewidgetpage.h
121   multisolidasciistlreader.h
122   neutralwriter.h
123   nodelayeriterator.h
124   octree.h
125   openfoamcase.h
126   solvertools.h
127   operation.h
128   optimisation.h
129   optimisenormalvector.h
130   padsurface.h
131   physicalboundarycondition.h
132   plywriter.h
133   pointfinder.h
134   polydatareader.h
135   polyline.h
136   polymesh.h
137   polymolecule.h
138   reducedpolydatareader.h
139   reducesurfacetriangulation.h
140   removepoints.h
141   ruleedgelengthsource.h
142   seedsimpleprismaticlayer.h
143   seligairfoilreader.h
144   setboundarycode.h
145   showinfo.h
146   simplefoamwriter.h
147   smoothandswapsurface.h
148   smoothingutilities.h
149   snaptofeatures.h
150   sortablevector.h
151   statistics.h
152   std_connections.h
153   std_includes.h
154   stitchholes.h
155   stlreader.h
156   stlwriter.h
157   su2writer.h
158   surfacealgorithm.h
159   surfacemesher.h
160   surfacemeshsmoother.h
161   surfacenodemovementcheck.h
162   surfaceoperation.h
163   swaptriangles.h
164   tetgenoperation.h
165   text3d.h
166   timer.h
167   triangle.h
168   triangularcadinterface.h
169   tricoord.h
170   tvtkoperation.h
171   uniquevector.h
172   updatedesiredmeshdensity.h
173   updatesurfproj.h
174   utilities.h
175   vertexdelegate.h
176   vertexmeshdensity.h
177   volumedefinition.h
178   vtkEgBoundaryCodesFilter.h
179   vtkEgEliminateShortEdges.h
180   vtkEgExtractVolumeCells.h
181   vtkEgGridFilter.h
182   vtkEgNormalExtrusion.h
183   vtkEgPolyDataToUnstructuredGridFilter.h
184   vtkreader.h
185   xmlhandler.h
186   guifillplane.h
187   fillplane.h
188   drnumwriter.h
189   computemeshdensity.h
190   converttopolymesh.h
191   guicreatehexshell.h
192   guiconverttopolymesh.h
193   createhexibmesh.h
194   guicreatehexibmesh.h
195   restricttoavailablevolumecells.h
198 SET(libengrid_FORMS
199   guibooleangeometryoperation.ui
200   guicreateboundarylayer.ui
201   guicreatehexcore.ui
202   guicreatesurfacemesh.ui
203   guicreatevolumemesh.ui
204   guideletebadaspecttris.ui
205   guidivideboundarylayer.ui
206   guiedgelengthsourcebox.ui
207   guiedgelengthsourcecone.ui
208   guiedgelengthsourcepipe.ui
209   guiedgelengthsourcesphere.ui
210   guieditboundaryconditions.ui
211   guiimproveaspectratio.ui
212   guimainwindow.ui
213   guimergevolumes.ui
214   guimirrormesh.ui
215   guinormalextrusion.ui
216   guipick.ui
217   guiselectboundarycodes.ui
218   guisetboundarycode.ui
219   guisurfacemesher.ui
220   guitransform.ui
221   guifillplane.ui
222   guicreatehexshell.ui
223   guiconverttopolymesh.ui
224   guicreatehexibmesh.ui
225   guiypluscalculator.ui
228 # QT4_WRAP_CPP(libengrid_HEADERS_MOC ${libengrid_HEADERS})
229 # QT4_WRAP_UI(libengrid_FORMS_HEADERS ${libengrid_FORMS})
230 # QT4_ADD_RESOURCES(libengrid_RESOURCES_RCC engrid.qrc)
232 qt_wrap_cpp(libengrid_HEADERS_MOC ${libengrid_HEADERS})
233 qt_wrap_ui(libengrid_FORMS_HEADERS ${libengrid_FORMS})
234 qt_add_resources(libengrid_RESOURCES_RCC engrid.qrc)
236 SET(libengrid_SOURCES
237   ${libengrid_HEADERS}
238   ${linengrid_HEADERS_MOC}
239   blenderreader.cpp
240   blenderwriter.cpp
241   boundarycondition.cpp
242   boundarylayeroperation.cpp
243   boxselect.cpp
244   cadinterface.cpp
245   celllayeriterator.cpp
246   cellneighbouriterator.cpp
247   cgaltricadinterface.cpp
248   cgnswriter.cpp
249   checkforoverlap.cpp
250   checksurfaceintegrity.cpp
251   correctsurfaceorientation.cpp
252   createboundarylayershell.cpp
253   createcadtesselation.cpp
254   createhexcore.cpp
255   createvolumemesh.cpp
256   curve.cpp
257   deletecells.cpp
258   deletepickedcell.cpp
259   deletepickedpoint.cpp
260   deletestraynodes.cpp
261   deletetetras.cpp
262   deletevolumegrid.cpp
263   dialoglineedit.cpp
264   dolfynwriter.cpp
265   edgelengthsourcemanager.cpp
266   egvtkinteractorstyle.cpp
267   egvtkobject.cpp
268   elements.cpp
269   eliminatesmallbranches.cpp
270   error.cpp
271   facefinder.cpp
272   filetemplate.cpp
273   fixcadgeometry.cpp
274   fixstl.cpp
275   solverobject.cpp
276   foamreader.cpp
277   foamwriter.cpp
278   geometrysmoother.cpp
279   geometrytools.cpp
280   gmshiooperation.cpp
281   gmshreader.cpp
282   gmshwriter.cpp
283   gridsmoother.cpp
284   guicreateboundarylayer.cpp
285   guicreatehexcore.cpp
286   guicreatesurfacemesh.cpp
287   guicreatevolumemesh.cpp
288   guideletebadaspecttris.cpp
289   guidivideboundarylayer.cpp
290   guiedgelengthsourcebox.cpp
291   guiedgelengthsourcecone.cpp
292   guiedgelengthsourcepipe.cpp
293   guiedgelengthsourcesphere.cpp
294   guieditboundaryconditions.cpp
295   guiimproveaspectratio.cpp
296   guimainwindow.cpp
297   guimergevolumes.cpp
298   guimirrormesh.cpp
299   guinormalextrusion.cpp
300   guipick.cpp
301   guiselectboundarycodes.cpp
302   guisetboundarycode.cpp
303   guisettingstab.cpp
304   guisettingsviewer.cpp
305   guisurfacemesher.cpp
306   guitransform.cpp
307   guivolumedelegate.cpp
308   guiypluscalculator.cpp
309   insertpoints.cpp
310   iooperation.cpp
311   iterator.cpp
312   laplacesmoother.cpp
313   layeriterator.cpp
314   mergenodes.cpp
315   meshpartition.cpp
316   meshquality.cpp
317   meshqualityfaceorientation.cpp
318   multipagewidget.cpp
319   multipagewidgetpage.cpp
320   multisolidasciistlreader.cpp
321   neutralwriter.cpp
322   nodelayeriterator.cpp
323   octree.cpp
324   openfoamcase.cpp
325   solvertools.cpp
326   operation.cpp
327   optimisation.cpp
328   optimisenormalvector.cpp
329   padsurface.cpp
330   physicalboundarycondition.cpp
331   plywriter.cpp
332   pointfinder.cpp
333   polydatareader.cpp
334   polyline.cpp
335   polymesh.cpp
336   polymolecule.cpp
337   reducedpolydatareader.cpp
338   reducesurfacetriangulation.cpp
339   removepoints.cpp
340   ruleedgelengthsource.cpp
341   seedsimpleprismaticlayer.cpp
342   seligairfoilreader.cpp
343   setboundarycode.cpp
344   showinfo.cpp
345   simplefoamwriter.cpp
346   smoothandswapsurface.cpp
347   smoothingutilities.cpp
348   snaptofeatures.cpp
349   stitchholes.cpp
350   stlreader.cpp
351   stlwriter.cpp
352   su2writer.cpp
353   surfacealgorithm.cpp
354   surfacemesher.cpp
355   surfacemeshsmoother.cpp
356   surfacenodemovementcheck.cpp
357   surfaceoperation.cpp
358   swaptriangles.cpp
359   text3d.cpp
360   tetgenoperation.cpp
361   timer.cpp
362   triangle.cpp
363   triangularcadinterface.cpp
364   tricoord.cpp
365   updatedesiredmeshdensity.cpp
366   updatesurfproj.cpp
367   utilities.cpp
368   vertexdelegate.cpp
369   vertexmeshdensity.cpp
370   volumedefinition.cpp
371   vtkEgBoundaryCodesFilter.cxx
372   vtkEgEliminateShortEdges.cxx
373   vtkEgExtractVolumeCells.cxx
374   vtkEgGridFilter.cxx
375   vtkEgNormalExtrusion.cxx
376   vtkEgPolyDataToUnstructuredGridFilter.cxx
377   vtkreader.cpp
378   xmlhandler.cpp
379   guifillplane.cpp
380   fillplane.cpp
381   drnumwriter.cpp
382   computemeshdensity.cpp
383   converttopolymesh.cpp
384   guicreatehexshell.cpp
385   guiconverttopolymesh.cpp
386   createhexibmesh.cpp
387   guicreatehexibmesh.cpp
388   restricttoavailablevolumecells.cpp
392 ADD_LIBRARY(libengrid SHARED ${libengrid_SOURCES} ${libengrid_HEADERS_MOC} ${libengrid_FORMS_HEADERS} ${libengrid_RESOURCES_RCC})
394 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
395   SET_TARGET_PROPERTIES(libengrid PROPERTIES MACOSX_RPATH 1)
396 endif()
398 SET_TARGET_PROPERTIES(libengrid PROPERTIES VERSION ${ENGRID_VERSION})
399 SET_TARGET_PROPERTIES(libengrid PROPERTIES COMPILE_FLAGS "-Wno-deprecated")
401 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
402   target_link_libraries(libengrid tet)
403   target_link_libraries(libengrid ${QT_LIBRARIES})
404   target_link_libraries(libengrid ${VTK_LIBRARIES})
405 endif()
407 target_link_libraries(libengrid ${VTK_LIBRARIES})
408 INSTALL(TARGETS libengrid LIBRARY DESTINATION lib${LIB_SUFFIX})
409 INSTALL(FILES ${libengrid_HEADERS} DESTINATION include/engrid)