Salome HOME
convertTo
[modules/med.git] / adm_local / cmake_files / FindMEDFILE.cmake
1 # Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
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 # ------
21
22 MESSAGE(STATUS "Check for medfile ...")
23
24 # ------
25
26 SET(MED_ENABLE_MED3 ON)
27
28 # ------
29
30 SET(MED3HOME $ENV{MED3HOME})
31 IF(NOT MED3HOME)
32   FIND_PROGRAM(MDUMP mdump)
33   IF(MDUMP)
34     MESSAGE(STATUS "mdump found: ${MDUMP}")
35     SET(MED3HOME ${MDUMP})
36     GET_FILENAME_COMPONENT(MED3HOME ${MED3HOME} PATH)
37     GET_FILENAME_COMPONENT(MED3HOME ${MED3HOME} PATH)
38   ELSE(MDUMP)
39     MESSAGE(STATUS "mdump not found, try to use MED3HOME environment variable or check your PATH")
40     SET(MED_ENABLE_MED3 OFF)
41   ENDIF(MDUMP)
42 ENDIF(NOT MED3HOME)
43
44 IF(MED_ENABLE_MED3)
45   MESSAGE(STATUS "Searching medfile in ${MED3HOME}")
46 ENDIF(MED_ENABLE_MED3)
47
48 IF(MED_ENABLE_MED3)
49   FIND_PATH(MED3_INCLUDE_DIR med.h ${MED3HOME}/include)
50   IF(MED3_INCLUDE_DIR)
51     SET(MED3_INCLUDES ${HDF5_INCLUDES} -I${MED3_INCLUDE_DIR} -D${MACHINE})#to be removed
52     SET(MED3_DEFINITIONS "-D${MACHINE}")
53     IF(${MED3HOME} STREQUAL /usr)
54       SET(MED3_INCLUDE_DIRS)
55     ELSE(${MED3HOME} STREQUAL /usr)
56       SET(MED3_INCLUDE_DIRS ${MED3_INCLUDE_DIR})
57     ENDIF(${MED3HOME} STREQUAL /usr)
58     MESSAGE(STATUS "med.h found in ${MED3_INCLUDE_DIR}")
59   ELSE(MED3_INCLUDE_DIR)
60     MESSAGE(STATUS "med.h not found in ${MED3HOME}/include, check your installation.")
61     SET(MED_ENABLE_MED3 OFF)
62   ENDIF(MED3_INCLUDE_DIR)
63 ENDIF(MED_ENABLE_MED3)
64
65 SET(MED3_LIBS_C_ONLY)
66 FOREACH(name medC)
67   IF(MED_ENABLE_MED3)
68     FIND_LIBRARY(${name}_LIB ${name} ${MED3HOME}/lib)
69     IF(${name}_LIB)
70       MESSAGE(STATUS "${name} lib found: ${${name}_LIB}")
71       SET(MED3_LIBS_C_ONLY ${MED3_LIBS} ${${name}_LIB})
72     ELSE(${name}_LIB)
73       MESSAGE(STATUS "${name} lib not found in ${MED3HOME}/lib, check your installation.")
74       SET(MED_ENABLE_MED3 OFF)
75     ENDIF(${name}_LIB)
76   ENDIF(MED_ENABLE_MED3)
77 ENDFOREACH(name medC)
78
79 SET(MED3_HAS_FORTRAN_BINDINGS 0)
80 IF(MED_ENABLE_MED3)
81   FIND_LIBRARY(med_LIB med ${MED3HOME}/lib)
82   IF(med_LIB)
83     MESSAGE(STATUS "med lib found: ${med_LIB}")
84     SET(MED3_LIBS ${MED3_LIBS_C_ONLY} ${med_LIB})
85     SET(MED3_HAS_FORTRAN_BINDINGS 1)
86   ELSE(med_LIB)
87     MESSAGE(STATUS "med lib not found in ${MED3HOME}/lib")
88   ENDIF(med_LIB)
89
90   FIND_LIBRARY(medimport_LIB medimport ${MED3HOME}/lib)
91   IF(medimport_LIB)
92     MESSAGE(STATUS "medimport lib found: ${medimport_LIB}")
93     SET(MED3_LIBS ${MED3_LIBS} ${medimport_LIB})
94   ELSE(medimport_LIB)
95     MESSAGE(STATUS "medimport lib not found in ${MED3HOME}/lib")
96     SET(MED3_HAS_FORTRAN_BINDINGS 0)
97   ENDIF(medimport_LIB)
98 ENDIF(MED_ENABLE_MED3)
99
100 IF(MED_ENABLE_MED3)
101 ELSE(MED_ENABLE_MED3)
102   MESSAGE(STATUS "medfile not found ... optional ... disabled")
103 ENDIF(MED_ENABLE_MED3)