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