Salome HOME
merge from agy/Template2
[tools/medcoupling.git] / src / MEDLoader / 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 ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${MEDFILE_DEFINITIONS} ${XDR_DEFINITIONS})
22
23 IF(MEDCOUPLING_ENABLE_PYTHON)
24   ADD_SUBDIRECTORY(Swig)
25 ENDIF(MEDCOUPLING_ENABLE_PYTHON)
26
27 IF(MEDCOUPLING_BUILD_TESTS)
28   ADD_SUBDIRECTORY(Test)
29 ENDIF(MEDCOUPLING_BUILD_TESTS)
30
31 SET(MEDLOADER_XDR_INCLUDE_DIRS)
32 SET(MEDLOADER_XDR_LIBRARIES)
33
34 IF(WIN32)
35   IF(MEDCOUPLING_MEDLOADER_USE_XDR)
36     ADD_DEFINITIONS(-DNOMINMAX)
37     SET(MEDLOADER_XDR_INCLUDE_DIRS ${XDR_INCLUDE_DIRS})
38     SET(MEDLOADER_XDR_LIBRARIES ${XDR_LIBRARIES})
39   ENDIF(MEDCOUPLING_MEDLOADER_USE_XDR)
40 ELSE(WIN32)
41   SET(MEDLOADER_XDR_INCLUDE_DIRS ${XDR_INCLUDE_DIRS})
42 ENDIF(WIN32)
43
44 INCLUDE_DIRECTORIES(
45   ${MEDFILE_INCLUDE_DIRS}
46   ${HDF5_INCLUDE_DIRS}
47   ${MEDLOADER_XDR_INCLUDE_DIRS}
48   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling
49   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
50   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
51   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
52   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
53   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
54   )
55
56 SET(medloader_SOURCES
57   MEDLoader.cxx
58   MEDLoaderBase.cxx
59   MEDLoaderTraits.cxx
60   MEDFileUtilities.cxx
61   MEDFileMesh.cxx
62   MEDFileMeshElt.cxx
63   MEDFileBasis.cxx
64   MEDFileMeshLL.cxx
65   MEDFileField.cxx
66   MEDFileJoint.cxx
67   MEDFileEquivalence.cxx
68   MEDFileParameter.cxx
69   MEDFileData.cxx
70   MEDFileFieldOverView.cxx
71   MEDFileMeshReadSelector.cxx
72   MEDFileMeshSupport.cxx
73   MEDFileStructureElement.cxx
74   MEDFileEntities.cxx
75   MEDFileBlowStrEltUp.cxx
76   SauvMedConvertor.cxx
77   SauvReader.cxx
78   SauvWriter.cxx
79   )
80
81 ADD_LIBRARY(medloader ${medloader_SOURCES})
82 SET_TARGET_PROPERTIES(medloader PROPERTIES COMPILE_FLAGS "")
83 TARGET_LINK_LIBRARIES(medloader medcoupling ${MEDFILE_C_LIBRARIES} ${HDF5_LIBRARIES} ${MEDLOADER_XDR_LIBRARIES})
84 INSTALL(TARGETS medloader EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${MEDCOUPLING_INSTALL_LIBS})
85
86 FILE(GLOB medloader_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
87 FILE(GLOB medloader_HEADERS_TXX "${CMAKE_CURRENT_SOURCE_DIR}/*.txx")
88 INSTALL(FILES ${medloader_HEADERS_HXX} ${medloader_HEADERS_TXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
89
90 # To allow usage as SWIG dependencies:
91 SET(medloader_HEADERS_HXX PARENT_SCOPE)