Salome HOME
Add NOMINMAX definition on WIN32 platform.
[modules/med.git] / src / MEDLoader / CMakeLists.txt
1 # Copyright (C) 2012-2013  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 # Author : Anthony Geay (CEA/DEN)
20
21 ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${MEDFILE_DEFINITIONS} ${XDR_DEFINITIONS})
22
23 IF(WIN32)
24  ADD_DEFINITIONS(-DNOMINMAX)
25 ENDIF(WIN32)
26
27 IF(SALOME_MED_ENABLE_PYTHON)
28   ADD_SUBDIRECTORY(Swig)
29 ENDIF(SALOME_MED_ENABLE_PYTHON)
30
31 IF(SALOME_BUILD_TESTS)
32   ADD_SUBDIRECTORY(Test)
33 ENDIF(SALOME_BUILD_TESTS)
34
35 SET(MEDLOADER_XDR_INCLUDE_DIRS)
36 SET(MEDLOADER_XDR_LIBRARIES)
37
38 IF(WIN32)
39   IF(SALOME_MED_MEDLOADER_USE_XDR)
40       SET(MEDLOADER_XDR_INCLUDE_DIRS ${XDR_INCLUDE_DIRS})
41       SET(MEDLOADER_XDR_LIBRARIES ${XDR_LIBRARIES})
42   ENDIF(SALOME_MED_MEDLOADER_USE_XDR)
43 ELSE(WIN32)
44   SET(MEDLOADER_XDR_INCLUDE_DIRS ${XDR_INCLUDE_DIRS})
45 ENDIF(WIN32)
46
47 INCLUDE_DIRECTORIES(
48   ${MEDFILE_INCLUDE_DIRS}
49   ${HDF5_INCLUDE_DIRS}
50   ${MEDLOADER_XDR_INCLUDE_DIRS}
51   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling
52   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
53   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases
54   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Geometric2D
55   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/ExprEval
56   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
57   )
58
59 SET(medloader_SOURCES
60   MEDLoader.cxx
61   MEDLoaderBase.cxx
62   MEDFileUtilities.cxx
63   MEDFileMesh.cxx
64   MEDFileMeshElt.cxx
65   MEDFileBasis.cxx
66   MEDFileMeshLL.cxx
67   MEDFileField.cxx
68   MEDFileParameter.cxx
69   MEDFileData.cxx
70   MEDFileFieldOverView.cxx
71   MEDFileMeshReadSelector.cxx
72   SauvMedConvertor.cxx
73   SauvReader.cxx
74   SauvWriter.cxx
75   )
76
77 ADD_LIBRARY(medloader SHARED ${medloader_SOURCES})
78 SET_TARGET_PROPERTIES(medloader PROPERTIES COMPILE_FLAGS "")
79 TARGET_LINK_LIBRARIES(medloader medcoupling ${MEDFILE_C_LIBRARIES} ${HDF5_LIBRARIES} ${MEDLOADER_XDR_LIBRARIES})
80 INSTALL(TARGETS medloader EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
81
82 FILE(GLOB medloader_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
83 INSTALL(FILES ${medloader_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})
84
85 # To allow usage as SWIG dependencies:
86 SET(medloader_HEADERS_HXX PARENT_SCOPE)