1 # Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
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.
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.
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
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 MESSAGE(STATUS "Check for scotch ...")
26 IF(SCOTCH_IS_MANDATORY STREQUAL 0)
27 SET(SCOTCH_IS_MANDATORY 0)
28 SET(SCOTCH_IS_OPTIONAL 1)
29 ENDIF(SCOTCH_IS_MANDATORY STREQUAL 0)
30 IF(SCOTCH_IS_OPTIONAL STREQUAL 0)
31 SET(SCOTCH_IS_MANDATORY 1)
32 SET(SCOTCH_IS_OPTIONAL 0)
33 ENDIF(SCOTCH_IS_OPTIONAL STREQUAL 0)
34 IF(NOT SCOTCH_IS_MANDATORY AND NOT SCOTCH_IS_OPTIONAL)
35 SET(SCOTCH_IS_MANDATORY 0)
36 SET(SCOTCH_IS_OPTIONAL 1)
37 ENDIF(NOT SCOTCH_IS_MANDATORY AND NOT SCOTCH_IS_OPTIONAL)
41 SET(MED_ENABLE_SCOTCH 1)
42 IF(WITHOUT_SCOTCH OR WITH_SCOTCH STREQUAL 0)
43 SET(MED_ENABLE_SCOTCH 0)
44 MESSAGE(STATUS "scotch disabled from command line.")
45 ENDIF(WITHOUT_SCOTCH OR WITH_SCOTCH STREQUAL 0)
51 SET(SCOTCH_ROOT_USER ${WITH_SCOTCH})
53 IF(NOT SCOTCH_ROOT_USER)
54 SET(SCOTCH_ROOT_USER $ENV{SCOTCHDIR})
55 ENDIF(NOT SCOTCH_ROOT_USER)
56 IF(NOT SCOTCH_ROOT_USER)
57 SET(SCOTCH_ROOT_USER $ENV{SCOTCH_ROOT})
58 ENDIF(NOT SCOTCH_ROOT_USER)
59 IF(NOT SCOTCH_ROOT_USER)
60 SET(SCOTCH_ROOT_USER $ENV{SCOTCHHOME})
61 ENDIF(NOT SCOTCH_ROOT_USER)
62 ENDIF(MED_ENABLE_SCOTCH)
67 IF(NOT SCOTCH_ROOT_USER)
68 FIND_PROGRAM(SCOTCH_MAINBINARY gpart)
70 MESSAGE(STATUS "scotch found: ${SCOTCH_MAINBINARY}")
71 IF(SCOTCH_MAINBINARY STREQUAL /usr/bin/gpart)
72 ELSE(SCOTCH_MAINBINARY STREQUAL /usr/bin/gpart)
73 SET(SCOTCH_ROOT_USER ${SCOTCH_MAINBINARY})
74 GET_FILENAME_COMPONENT(SCOTCH_ROOT_USER ${SCOTCH_ROOT_USER} PATH)
75 GET_FILENAME_COMPONENT(SCOTCH_ROOT_USER ${SCOTCH_ROOT_USER} PATH)
76 ENDIF(SCOTCH_MAINBINARY STREQUAL /usr/bin/gpart)
77 ELSE(SCOTCH_MAINBINARY)
78 MESSAGE(STATUS "scotch not found, try to use WITH_SCOTCH option or SCOTCH_ROOT (or SCOTCHHOME or SCOTCHDIR) environment variable")
79 SET(MED_ENABLE_SCOTCH 0)
80 ENDIF(SCOTCH_MAINBINARY)
81 ENDIF(NOT SCOTCH_ROOT_USER)
82 ENDIF(MED_ENABLE_SCOTCH)
88 SET(SCOTCH_FIND_PATHS_OPTION NO_DEFAULT_PATH)
89 ELSE(SCOTCH_ROOT_USER)
90 SET(SCOTCH_FIND_PATHS_OPTION)
91 ENDIF(SCOTCH_ROOT_USER)
92 ENDIF(MED_ENABLE_SCOTCH)
98 SET(SCOTCH_INCLUDE_PATHS ${SCOTCH_ROOT_USER}/include)
99 ELSE(SCOTCH_ROOT_USER)
100 SET(SCOTCH_INCLUDE_PATHS)
101 ENDIF(SCOTCH_ROOT_USER)
102 SET(SCOTCH_INCLUDE_TO_FIND scotch.h)
103 FIND_PATH(SCOTCH_INCLUDE_DIR ${SCOTCH_INCLUDE_TO_FIND} PATHS ${SCOTCH_INCLUDE_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
104 IF(SCOTCH_INCLUDE_DIR)
106 SET(SCOTCH_INCLUDES -I${SCOTCH_INCLUDE_DIR})#to remove
107 SET(SCOTCH_INCLUDE_DIRS ${SCOTCH_INCLUDE_DIR})
108 ENDIF(SCOTCH_ROOT_USER)
109 SET(SCOTCH_INCLUDES -D_SCOTCHUSEDLL_ ${SCOTCH_INCLUDES})#to remove
110 SET(SCOTCH_DEFINITIONS "-D_SCOTCHUSEDLL_")
111 MESSAGE(STATUS "${SCOTCH_INCLUDE_TO_FIND} found in ${SCOTCH_INCLUDE_DIR}")
112 ELSE(SCOTCH_INCLUDE_DIR)
113 SET(MED_ENABLE_SCOTCH 0)
115 MESSAGE(STATUS "${SCOTCH_INCLUDE_TO_FIND} not found in ${SCOTCH_INCLUDE_PATHS}, check your SCOTCH installation.")
116 ELSE(SCOTCH_ROOT_USER)
117 MESSAGE(STATUS "${SCOTCH_INCLUDE_TO_FIND} not found on system, try to use WITH_SCOTCH option or SCOTCH_ROOT (or SCOTCHHOME or SCOTCHDIR) environment variable.")
118 ENDIF(SCOTCH_ROOT_USER)
119 ENDIF(SCOTCH_INCLUDE_DIR)
120 ENDIF(MED_ENABLE_SCOTCH)
124 IF(MED_ENABLE_SCOTCH)
127 SET(SCOTCH_LIB_PATHS ${SCOTCH_ROOT_USER}/dll ${SCOTCH_ROOT_USER}/lib)
129 SET(SCOTCH_LIB_PATHS ${SCOTCH_ROOT_USER}/lib)
131 ELSE(SCOTCH_ROOT_USER)
132 SET(SCOTCH_LIB_PATHS)
133 ENDIF(SCOTCH_ROOT_USER)
135 IF(CMAKE_BUILD_TYPE STREQUAL Release)
136 FIND_LIBRARY(SCOTCH_LIB scotchdll PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
137 FIND_LIBRARY(SCOTCH_LIB2 scotcherrdll PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
138 ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
139 FIND_LIBRARY(SCOTCH_LIB scotchddll PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
140 FIND_LIBRARY(SCOTCH_LIB2 scotcherrddll PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
141 ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
143 FIND_LIBRARY(SCOTCH_LIB scotch PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
144 FIND_LIBRARY(SCOTCH_LIB2 scotcherr PATHS ${SCOTCH_LIB_PATHS} ${SCOTCH_FIND_PATHS_OPTION})
148 SET(SCOTCH_LIBS ${SCOTCH_LIBS} ${SCOTCH_LIB} ${SCOTCH_LIB2})
149 MESSAGE(STATUS "scotch lib found: ${SCOTCH_LIB}")
151 SET(MED_ENABLE_SCOTCH 0)
153 MESSAGE(STATUS "scotch lib not found in ${SCOTCH_LIB_PATHS}, check your SCOTCH installation.")
154 ELSE(SCOTCH_ROOT_USER)
155 MESSAGE(STATUS "scotch lib not found on system, try to use WITH_SCOTCH option or SCOTCH_ROOT (or SCOTCHHOME or SCOTCHDIR) environment variable.")
156 ENDIF(SCOTCH_ROOT_USER)
158 ENDIF(MED_ENABLE_SCOTCH)
162 IF(MED_ENABLE_SCOTCH)
163 SET(SCOTCH_CPPFLAGS ${SCOTCH_INCLUDES} -DMED_ENABLE_SCOTCH)# to remove
164 SET(SCOTCH_DEFINITIONS "${SCOTCH_DEFINITIONS} -DMED_ENABLE_SCOTCH")
165 ELSE(MED_ENABLE_SCOTCH)
166 IF(SCOTCH_IS_MANDATORY)
167 MESSAGE(FATAL_ERROR "scotch not found ... mandatory ... abort")
168 ELSE(SCOTCH_IS_MANDATORY)
169 MESSAGE(STATUS "scotch not found ... optional ... disabled")
170 ENDIF(SCOTCH_IS_MANDATORY)
171 ENDIF(MED_ENABLE_SCOTCH)