Salome HOME
Merge V8_3_BR branch.
[tools/medcoupling.git] / src / MEDCoupling / CMakeLists.txt
1 # Copyright (C) 2012-2016  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 IF(MEDCOUPLING_BUILD_TESTS)
22   ADD_SUBDIRECTORY(Test)
23 ENDIF(MEDCOUPLING_BUILD_TESTS)
24
25 INCLUDE_DIRECTORIES(
26   ${CMAKE_CURRENT_BINARY_DIR}/../..
27   ${CMAKE_CURRENT_SOURCE_DIR}
28   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
29   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
30   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
31   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
32   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
33   )
34
35 SET(medcoupling_SOURCES
36   MEDCouplingField.cxx
37   MEDCouplingFieldFloat.cxx
38   MEDCouplingFieldDouble.cxx
39   MEDCouplingFieldInt.cxx
40   MEDCouplingUMesh.cxx
41   MEDCouplingUMesh_internal.cxx
42   MEDCouplingUMesh_intersection.cxx
43   MEDCoupling1GTUMesh.cxx
44   MEDCouplingMemArray.cxx
45   MEDCouplingMemArrayFloat.cxx
46   MEDCouplingMemArrayChar.cxx
47   MEDCouplingMap.cxx
48   MEDCouplingTraits.cxx
49   MEDCouplingTimeLabel.cxx
50   MEDCouplingCMesh.cxx
51   MEDCouplingIMesh.cxx
52   MEDCouplingCurveLinearMesh.cxx
53   MEDCouplingStructuredMesh.cxx
54   MEDCouplingTimeDiscretization.cxx
55   MEDCouplingFieldDiscretization.cxx
56   MEDCouplingRefCountObject.cxx
57   MEDCouplingPointSet.cxx
58   MEDCouplingFieldTemplate.cxx
59   MEDCouplingMappedExtrudedMesh.cxx
60   MEDCouplingMesh.cxx
61   MEDCouplingGaussLocalization.cxx
62   MEDCouplingNatureOfField.cxx
63   MEDCouplingMultiFields.cxx
64   MEDCouplingDefinitionTime.cxx
65   MEDCouplingFieldOverTime.cxx
66   MEDCouplingCartesianAMRMesh.cxx
67   MEDCouplingAMRAttribute.cxx
68   MEDCouplingMatrix.cxx
69   MEDCouplingPartDefinition.cxx
70   MEDCouplingSkyLineArray.cxx
71   MEDCouplingVoronoi.cxx
72   ../ICoCo/ICoCoField.cxx
73   ../ICoCo/ICoCoMEDField.cxx
74   )
75
76 SET(medcouplingremapper_SOURCES
77   MEDCouplingRemapper.cxx
78   )
79
80 ADD_LIBRARY(medcoupling ${medcoupling_SOURCES})
81 TARGET_LINK_LIBRARIES(medcoupling interpkernel)
82 INSTALL(TARGETS medcoupling EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${MEDCOUPLING_INSTALL_LIBS})
83
84 ADD_LIBRARY(medcouplingremapper ${medcouplingremapper_SOURCES})
85 TARGET_LINK_LIBRARIES(medcouplingremapper medcoupling)
86 INSTALL(TARGETS medcouplingremapper EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${MEDCOUPLING_INSTALL_LIBS})
87
88 FILE(GLOB medcoupling_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
89 FILE(GLOB medcoupling_HEADERS_TXX "${CMAKE_CURRENT_SOURCE_DIR}/*.txx")
90 FILE(GLOB icoco_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/../ICoCo/*.hxx")
91 INSTALL(FILES ${medcoupling_HEADERS_HXX} ${medcoupling_HEADERS_TXX} ${icoco_HEADERS_HXX} MEDCouplingNatureOfFieldEnum DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
92
93 # To allow usage as SWIG dependencies:
94 SET(medcoupling_HEADERS_HXX PARENT_SCOPE)
95 SET(medcoupling_HEADERS_TXX PARENT_SCOPE)