Salome HOME
Copyright update 2020
[tools/medcoupling.git] / src / INTERP_KERNEL / CMakeLists.txt
1 # Copyright (C) 2012-2020  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 email : webmaster.salome@opencascade.com
18 #
19 # Author : Anthony Geay (CEA/DEN)
20
21 SET(interpkernel_SOURCES
22   TransformedTriangle.cxx
23   TransformedTriangleIntersect.cxx
24   TransformedTriangleMath.cxx
25   BoundingBox.cxx
26   TranslationRotationMatrix.cxx
27   TetraAffineTransform.cxx
28   CellModel.cxx
29   DiameterCalculator.cxx
30   OrientationInverter.cxx
31   UnitTetraIntersectionBary.cxx
32   InterpolationOptions.cxx
33   BoxSplittingOptions.cxx
34   DirectedBoundingBox.cxx
35   Interpolation2DCurve.cxx
36   Interpolation3DSurf.cxx
37   Interpolation3D.cxx
38   Interpolation2D3D.cxx
39   Interpolation3D1D.cxx
40   Interpolation1D0D.cxx
41   MeshElement.cxx
42   InterpKernelMeshQuality.cxx
43   InterpKernelCellSimplify.cxx
44   InterpKernelMatrixTools.cxx
45   VolSurfUser.cxx
46   SplitterTetra.cxx
47   Bases/InterpKernelException.cxx
48   Geometric2D/InterpKernelGeo2DAbstractEdge.cxx
49   Geometric2D/InterpKernelGeo2DBounds.cxx
50   Geometric2D/InterpKernelGeo2DPrecision.cxx
51   Geometric2D/InterpKernelGeo2DComposedEdge.cxx
52   Geometric2D/InterpKernelGeo2DEdgeArcCircle.cxx
53   Geometric2D/InterpKernelGeo2DEdge.cxx
54   Geometric2D/InterpKernelGeo2DEdgeInfLin.cxx
55   Geometric2D/InterpKernelGeo2DEdgeLin.cxx
56   Geometric2D/InterpKernelGeo2DElementaryEdge.cxx
57   Geometric2D/InterpKernelGeo2DNode.cxx
58   Geometric2D/InterpKernelGeo2DQuadraticPolygon.cxx
59   ExprEval/InterpKernelExprParser.cxx
60   ExprEval/InterpKernelFunction.cxx
61   ExprEval/InterpKernelUnit.cxx
62   ExprEval/InterpKernelValue.cxx
63   ExprEval/InterpKernelAsmX86.cxx
64   GaussPoints/InterpKernelGaussCoords.cxx
65   )
66
67 INCLUDE_DIRECTORIES(
68   ${CMAKE_CURRENT_SOURCE_DIR}
69   ${CMAKE_CURRENT_SOURCE_DIR}/Bases
70   ${CMAKE_CURRENT_SOURCE_DIR}/Geometric2D
71   ${CMAKE_CURRENT_SOURCE_DIR}/ExprEval
72   ${CMAKE_CURRENT_SOURCE_DIR}/GaussPoints
73   )
74
75 IF (NOT DEFINED MSVC)
76   ADD_DEFINITIONS(-Wsign-compare -Wconversion)
77 ENDIF()
78
79 SET(PLATFORM_MMAP)
80 IF(NOT WIN32)
81   SET(PLATFORM_MMAP "-D_POSIX_MAPPED_FILES")
82 ENDIF(NOT WIN32)
83
84 ADD_LIBRARY(interpkernel ${interpkernel_SOURCES})
85 SET_TARGET_PROPERTIES(interpkernel PROPERTIES COMPILE_FLAGS "${PLATFORM_MMAP}")
86 TARGET_LINK_LIBRARIES(interpkernel ${PLATFORM_LIBS})
87 INSTALL(TARGETS interpkernel EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${MEDCOUPLING_INSTALL_LIBS})
88
89 FILE(GLOB_RECURSE interpkernel_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
90 FILE(GLOB_RECURSE interpkernel_HEADERS_TXX "${CMAKE_CURRENT_SOURCE_DIR}/*.txx")
91 INSTALL(FILES ${interpkernel_HEADERS_HXX} ${interpkernel_HEADERS_TXX} Bases/NormalizedGeometricTypes DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
92
93 # Will be used for SWIG dependencies:
94 SET (interpkernel_HEADERS_HXX PARENT_SCOPE)
95 SET (interpkernel_HEADERS_TXX PARENT_SCOPE)