Merge branch 'master' of github.com:enGits/engrid
[engrid-github.git] / src / libengrid / CMakeLists.txt
blob0de14931d9d0d9ba24c809814b1da23db0c0600a
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 SET(libengrid_SOURCES
233   ${libengrid_HEADERS}
234   ${linengrid_HEADERS_MOC}
235   blenderreader.cpp
236   blenderwriter.cpp
237   boundarycondition.cpp
238   boundarylayeroperation.cpp
239   boxselect.cpp
240   cadinterface.cpp
241   celllayeriterator.cpp
242   cellneighbouriterator.cpp
243   cgaltricadinterface.cpp
244   cgnswriter.cpp
245   checkforoverlap.cpp
246   checksurfaceintegrity.cpp
247   correctsurfaceorientation.cpp
248   createboundarylayershell.cpp
249   createcadtesselation.cpp
250   createhexcore.cpp
251   createvolumemesh.cpp
252   curve.cpp
253   deletecells.cpp
254   deletepickedcell.cpp
255   deletepickedpoint.cpp
256   deletestraynodes.cpp
257   deletetetras.cpp
258   deletevolumegrid.cpp
259   dialoglineedit.cpp
260   dolfynwriter.cpp
261   edgelengthsourcemanager.cpp
262   egvtkinteractorstyle.cpp
263   egvtkobject.cpp
264   elements.cpp
265   eliminatesmallbranches.cpp
266   error.cpp
267   facefinder.cpp
268   filetemplate.cpp
269   fixcadgeometry.cpp
270   fixstl.cpp
271   solverobject.cpp
272   foamreader.cpp
273   foamwriter.cpp
274   geometrysmoother.cpp
275   geometrytools.cpp
276   gmshiooperation.cpp
277   gmshreader.cpp
278   gmshwriter.cpp
279   gridsmoother.cpp
280   guicreateboundarylayer.cpp
281   guicreatehexcore.cpp
282   guicreatesurfacemesh.cpp
283   guicreatevolumemesh.cpp
284   guideletebadaspecttris.cpp
285   guidivideboundarylayer.cpp
286   guiedgelengthsourcebox.cpp
287   guiedgelengthsourcecone.cpp
288   guiedgelengthsourcepipe.cpp
289   guiedgelengthsourcesphere.cpp
290   guieditboundaryconditions.cpp
291   guiimproveaspectratio.cpp
292   guimainwindow.cpp
293   guimergevolumes.cpp
294   guimirrormesh.cpp
295   guinormalextrusion.cpp
296   guipick.cpp
297   guiselectboundarycodes.cpp
298   guisetboundarycode.cpp
299   guisettingstab.cpp
300   guisettingsviewer.cpp
301   guisurfacemesher.cpp
302   guitransform.cpp
303   guivolumedelegate.cpp
304   guiypluscalculator.cpp
305   insertpoints.cpp
306   iooperation.cpp
307   iterator.cpp
308   laplacesmoother.cpp
309   layeriterator.cpp
310   mergenodes.cpp
311   meshpartition.cpp
312   meshquality.cpp
313   meshqualityfaceorientation.cpp
314   multipagewidget.cpp
315   multipagewidgetpage.cpp
316   multisolidasciistlreader.cpp
317   neutralwriter.cpp
318   nodelayeriterator.cpp
319   octree.cpp
320   openfoamcase.cpp
321   solvertools.cpp
322   operation.cpp
323   optimisation.cpp
324   optimisenormalvector.cpp
325   padsurface.cpp
326   physicalboundarycondition.cpp
327   plywriter.cpp
328   pointfinder.cpp
329   polydatareader.cpp
330   polyline.cpp
331   polymesh.cpp
332   polymolecule.cpp
333   reducedpolydatareader.cpp
334   reducesurfacetriangulation.cpp
335   removepoints.cpp
336   ruleedgelengthsource.cpp
337   seedsimpleprismaticlayer.cpp
338   seligairfoilreader.cpp
339   setboundarycode.cpp
340   showinfo.cpp
341   simplefoamwriter.cpp
342   smoothandswapsurface.cpp
343   smoothingutilities.cpp
344   snaptofeatures.cpp
345   stitchholes.cpp
346   stlreader.cpp
347   stlwriter.cpp
348   su2writer.cpp
349   surfacealgorithm.cpp
350   surfacemesher.cpp
351   surfacemeshsmoother.cpp
352   surfacenodemovementcheck.cpp
353   surfaceoperation.cpp
354   swaptriangles.cpp
355   text3d.cpp
356   tetgenoperation.cpp
357   timer.cpp
358   triangle.cpp
359   triangularcadinterface.cpp
360   tricoord.cpp
361   updatedesiredmeshdensity.cpp
362   updatesurfproj.cpp
363   utilities.cpp
364   vertexdelegate.cpp
365   vertexmeshdensity.cpp
366   volumedefinition.cpp
367   vtkEgBoundaryCodesFilter.cxx
368   vtkEgEliminateShortEdges.cxx
369   vtkEgExtractVolumeCells.cxx
370   vtkEgGridFilter.cxx
371   vtkEgNormalExtrusion.cxx
372   vtkEgPolyDataToUnstructuredGridFilter.cxx
373   vtkreader.cpp
374   xmlhandler.cpp
375   guifillplane.cpp
376   fillplane.cpp
377   drnumwriter.cpp
378   computemeshdensity.cpp
379   converttopolymesh.cpp
380   guicreatehexshell.cpp
381   guiconverttopolymesh.cpp
382   createhexibmesh.cpp
383   guicreatehexibmesh.cpp
384   restricttoavailablevolumecells.cpp
388 ADD_LIBRARY(libengrid SHARED ${libengrid_SOURCES} ${libengrid_HEADERS_MOC} ${libengrid_FORMS_HEADERS} ${libengrid_RESOURCES_RCC})
390 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
391   SET_TARGET_PROPERTIES(libengrid PROPERTIES MACOSX_RPATH 1)
392 endif()
394 SET_TARGET_PROPERTIES(libengrid PROPERTIES VERSION ${ENGRID_VERSION})
395 SET_TARGET_PROPERTIES(libengrid PROPERTIES COMPILE_FLAGS "-Wno-deprecated")
397 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
398   target_link_libraries(libengrid tet)
399   target_link_libraries(libengrid ${QT_LIBRARIES})
400   target_link_libraries(libengrid ${VTK_LIBRARIES})
401   target_link_libraries(libengrid Qt4::QtCore)
402   target_link_libraries(libengrid Qt4::QtGui)
403   target_link_libraries(libengrid Qt4::QtXml)
404 endif()
406 target_link_libraries(libengrid ${VTK_LIBRARIES})
407 INSTALL(TARGETS libengrid LIBRARY DESTINATION lib)
408 INSTALL(FILES ${libengrid_HEADERS} DESTINATION include/engrid)