]> SALOME platform Git repositories - tools/medcoupling.git/blob - src/MEDSPLITTER/CMakeLists.txt
Salome HOME
CMake: Use FindSalomeVTK.cmake
[tools/medcoupling.git] / src / MEDSPLITTER / CMakeLists.txt
1 # Copyright (C) 2007-2012  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.
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
20 IF(CPPUNIT_IS_OK)
21   ADD_SUBDIRECTORY(Test)
22 ENDIF(CPPUNIT_IS_OK)
23   
24 INCLUDE_DIRECTORIES(
25   ${PARMETIS_INCLUDE_DIRS}
26   ${METIS_INCLUDE_DIRS}
27   ${SCOTCH_INCLUDE_DIRS}
28   ${BOOST_INCLUDE_DIRS}
29   ${METIS_INCLUDE_DIRS}
30   ${LIBXML_INCLUDE_DIRS}
31   ${MED3_INCLUDE_DIRS}
32   ${HDF5_INCLUDE_DIRS}
33   ${MPI_INCLUDE_DIRS}
34   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDMEM
35   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
36   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
37   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
38   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
39   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
40   )
41
42 SET(medsplittercpp_HEADERS_HXX
43   MEDSPLITTER_Topology.hxx
44   MEDSPLITTER_MESHCollection.hxx
45   MEDSPLITTER_MESHCollection.H
46   MEDSPLITTER_MESHCollectionDriver.H
47   MEDSPLITTER_MESHCollectionMedXMLDriver.H
48   MEDSPLITTER_MESHCollectionMedAsciiDriver.H
49   MEDSPLITTER_MESHCollectionDriver.hxx
50   MEDSPLITTER_MESHCollectionMedXMLDriver.hxx
51   MEDSPLITTER_MESHCollectionMedAsciiDriver.hxx
52   MEDSPLITTER_ParallelTopology.hxx
53   MEDSPLITTER_FaceModel.hxx
54   MEDSPLITTER_Graph.hxx
55   MEDSPLITTER_UserGraph.hxx
56   MEDSPLITTER_API.hxx
57   MEDSPLITTER_SequentialTopology.hxx
58   MEDSPLITTER_utils.hxx
59   MEDSPLITTER.hxx
60   MEDSPLITTER_ParaDomainSelector.hxx
61   MEDSPLITTER_MeshSendReceive.hxx
62   MEDSPLITTER_JointExchangeData.hxx
63   )
64
65 SET(medsplittercpp_SOURCES
66   MEDSPLITTER_MESHCollection.cxx
67   MEDSPLITTER_MESHCollectionDriver.cxx
68   MEDSPLITTER_MESHCollectionMedXMLDriver.cxx
69   MEDSPLITTER_MESHCollectionMedAsciiDriver.cxx
70   MEDSPLITTER_ParallelTopology.cxx
71   MEDSPLITTER_Graph.cxx
72   MEDSPLITTER_UserGraph.cxx
73   MEDSPLITTER_API.cxx
74   MEDSPLITTER_ParaDomainSelector.cxx
75   MEDSPLITTER_MeshSendReceive.cxx
76   MEDSPLITTER_JointExchangeData.cxx
77   )
78
79 SET(medsplittercpp_DEFINITIONS "${HDF5_DEFINITIONS} ${MED3_DEFINITIONS} ${BOOST_DEFINITIONS} ${LIBXML_DEFINITIONS} ${MPI_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
80 SET(medsplittercpp_LDFLAGS medmem ${LIBXML_LIBS} interpkernel ${MPI_LIBS} ${HDF5_LIBS} ${MED3_LIBS_C_ONLY} ${STDLIB} ${PLATFORM_LIBS})
81
82 IF(MED_ENABLE_SCOTCH)
83   SET(medsplittercpp_SOURCES ${medsplittercpp_SOURCES} MEDSPLITTER_SCOTCHGraph.cxx)
84   SET(medsplittercpp_HEADERS_HXX ${medsplittercpp_HEADERS_HXX} MEDSPLITTER_SCOTCHGraph.hxx)
85   SET(medsplittercpp_DEFINITIONS "${medsplittercpp_DEFINITIONS} ${SCOTCH_DEFINITIONS}")
86   SET(medsplittercpp_LDFLAGS ${medsplittercpp_LDFLAGS} ${SCOTCH_LIBS})
87 ENDIF(MED_ENABLE_SCOTCH)
88
89 IF(MED_ENABLE_METIS)
90   SET(medsplittercpp_HEADERS_HXX ${medsplittercpp_HEADERS_HXX} MEDSPLITTER_METISGraph.hxx)
91 ENDIF(MED_ENABLE_METIS)
92
93 IF(MPI_IS_OK)
94   IF(MED_ENABLE_PARMETIS)
95     SET(medsplittercpp_SOURCES ${medsplittercpp_SOURCES} MEDSPLITTER_METISGraph.cxx)
96     SET(medsplittercpp_DEFINITIONS "${medsplittercpp_DEFINITIONS} ${MPI_DEFINITIONS} ${PARMETIS_DEFINITIONS}")
97     SET(medsplittercpp_LDFLAGS ${medsplittercpp_LDFLAGS} ${PARMETIS_LIBS})
98   ENDIF(MED_ENABLE_PARMETIS)
99 ELSE(MPI_IS_OK)
100   IF(MED_ENABLE_METIS)
101     SET(medsplittercpp_SOURCES ${medsplittercpp_SOURCES} MEDSPLITTER_METISGraph.cxx)
102     SET(medsplittercpp_DEFINITIONS "${medsplittercpp_DEFINITIONS} ${METIS_DEFINITIONS}")
103     SET(medsplittercpp_LDFLAGS ${medsplittercpp_LDFLAGS} ${METIS_LIBS})
104   ENDIF(MED_ENABLE_METIS)
105 ENDIF(MPI_IS_OK)
106
107 SET(medsplitter_LDFLAGS ${medsplittercpp_LDFLAGS})
108 IF(MED_ENABLE_KERNEL)
109   INCLUDE_DIRECTORIES(${KERNEL_ROOT_DIR}/include/salome)
110   SET(medsplittercpp_LDFLAGS ${medsplittercpp_LDFLAGS} ${BOSST_LIBS} ${SALOMELocalTrace})
111   SET(medsplitter_LDFLAGS ${medsplittercpp_LDFLAGS} ${SALOMEBasics})
112 ENDIF(MED_ENABLE_KERNEL)
113
114 ADD_EXECUTABLE(medsplitter medsplitter.cxx)
115 SET_TARGET_PROPERTIES(medsplitter PROPERTIES COMPILE_FLAGS "${medsplittercpp_DEFINITIONS}")
116 TARGET_LINK_LIBRARIES(medsplitter medsplittercpp ${medsplitter_LDFLAGS})
117 INSTALL(TARGETS medsplitter DESTINATION ${MED_salomebin_BINS})
118
119 IF(MPI_IS_OK)
120   ADD_EXECUTABLE(medsplitter_para medsplitter_para.cxx)
121   SET_TARGET_PROPERTIES(medsplitter_para PROPERTIES COMPILE_FLAGS "${medsplittercpp_DEFINITIONS}")
122   TARGET_LINK_LIBRARIES(medsplitter_para medsplittercpp ${medsplitter_LDFLAGS})
123   INSTALL(TARGETS medsplitter_para DESTINATION ${MED_salomebin_BINS})
124 ENDIF(MPI_IS_OK)
125
126 ADD_LIBRARY(medsplittercpp SHARED ${medsplittercpp_SOURCES})
127 SET_TARGET_PROPERTIES(medsplittercpp PROPERTIES COMPILE_FLAGS "${medsplittercpp_DEFINITIONS}")
128 TARGET_LINK_LIBRARIES(medsplittercpp ${medsplittercpp_LDFLAGS})
129 INSTALL(TARGETS medsplittercpp DESTINATION ${MED_salomelib_LIBS})
130
131 INSTALL(FILES ${medsplittercpp_HEADERS_HXX} DESTINATION ${MED_salomeinclude_HEADERS})