Salome HOME
a6f0e37e38007cb633d3721ae9ff7aebda10001d
[tools/medcoupling.git] / src / ParaMEDMEM / 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 ADD_DEFINITIONS(${MPI_DEFINITIONS})
22
23 IF (NOT DEFINED MSVC)
24   ADD_DEFINITIONS(-Wsign-compare -Wconversion)
25 ENDIF()
26
27 INCLUDE_DIRECTORIES(
28   ${MPI_INCLUDE_DIRS}
29   ${CMAKE_CURRENT_SOURCE_DIR}
30   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling
31   ${CMAKE_CURRENT_SOURCE_DIR}/../ICoCo
32   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
33   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
34   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
35   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
36   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
37   )
38
39 SET(paramedmem_SOURCES
40   ProcessorGroup.cxx
41   MPIProcessorGroup.cxx
42   ParaMESH.cxx
43   CommInterface.cxx
44   ParaUMesh.cxx
45   ParaSkyLineArray.cxx
46   ParaDataArray.cxx
47   ComponentTopology.cxx
48   MPIAccess.cxx
49   InterpolationMatrix.cxx
50   OverlapInterpolationMatrix.cxx
51   StructuredCoincidentDEC.cxx
52   ExplicitCoincidentDEC.cxx
53   InterpKernelDEC.cxx
54   ElementLocator.cxx
55   OverlapElementLocator.cxx
56   MPIAccessDEC.cxx
57   TimeInterpolator.cxx
58   LinearTimeInterpolator.cxx
59   DEC.cxx
60   DisjointDEC.cxx
61   OverlapDEC.cxx
62   ExplicitTopology.cxx
63   MxN_Mapping.cxx
64   OverlapMapping.cxx
65   ParaFIELD.cxx
66   ParaGRID.cxx
67   BlockTopology.cxx
68   ExplicitMapping.cxx
69   )
70
71 ADD_LIBRARY(paramedmem ${paramedmem_SOURCES})
72 TARGET_LINK_LIBRARIES(paramedmem medcouplingcpp ${MPI_LIBRARIES})
73 INSTALL(TARGETS paramedmem EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${MEDCOUPLING_INSTALL_LIBS})
74
75 FILE(GLOB paramedmem_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
76 INSTALL(FILES ${paramedmem_HEADERS_HXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
77
78 FILE(GLOB paramedmem_HEADERS_TXX "${CMAKE_CURRENT_SOURCE_DIR}/*.txx")
79 INSTALL(FILES ${paramedmem_HEADERS_TXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
80
81 # To allow usage as SWIG dependencies:
82 SET(paramedmem_HEADERS_HXX PARENT_SCOPE)