# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-#IF(WIN32)
-# INCLUDE(${PROJECT_SOURCE_DIR}/adm_local/cmake_files/FindXDR.cmake)
-#ENDIF(WIN32)
-
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
PROJECT(SalomeMED C CXX)
CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_METIS "Enable metis graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF)
CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_SCOTCH "Enable scotch graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF)
CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_PARMETIS "Enable parmetis graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;SALOME_USE_MPI" OFF)
+IF(WIN32)
+ CMAKE_DEPENDENT_OPTION(SALOME_MED_MEDLOADER_USE_XDR "Enable use of XDR for SauvReader." ON "NOT SALOME_MED_MICROMED" OFF)
+ENDIF(WIN32)
#
# Set list of prerequisites
IF(NOT SALOME_MED_MICROMED)
FIND_PACKAGE(SalomeHDF5 REQUIRED)
FIND_PACKAGE(SalomeMEDFile REQUIRED)
+ # XDR stuff
+ IF(NOT WIN32)
+ FIND_PACKAGE(SalomeXDR REQUIRED)
+ ELSE(NOT WIN32)
+ IF(SALOME_MED_MEDLOADER_USE_XDR)
+ FIND_PACKAGE(SalomeXDR REQUIRED)
+ ENDIF(SALOME_MED_MEDLOADER_USE_XDR)
+ ENDIF(NOT WIN32)
+ # End of XDR Stuff
IF(SALOME_MED_ENABLE_PARTITIONER)
FIND_PACKAGE(SalomeLibXml2)
SALOME_LOG_OPTIONAL_PACKAGE(LibXml2 SALOME_MED_ENABLE_PARTITIONER)
--- /dev/null
+# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Author: Anthony Geay
+#
+
+# XDR detection dor Salome
+#
+# !! Please read the generic detection procedure in SalomeMacros.cmake !!
+#
+
+SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(XDR XDR_FOUND 1)
+#MARK_AS_ADVANCED()
+
+#SALOME_ACCUMULATE_HEADERS(XDR_INCLUDE_DIRS) # useless here because XDR is used only in CXX of MEDLoader
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# ------
-#
-MESSAGE(STATUS "Check for xdr ...")
-
-# ------
-
-IF(XDR_IS_MANDATORY STREQUAL 0)
- SET(XDR_IS_MANDATORY 0)
- SET(XDR_IS_OPTIONAL 1)
-ENDIF(XDR_IS_MANDATORY STREQUAL 0)
-IF(XDR_IS_OPTIONAL STREQUAL 0)
- SET(XDR_IS_MANDATORY 1)
- SET(XDR_IS_OPTIONAL 0)
-ENDIF(XDR_IS_OPTIONAL STREQUAL 0)
-IF(NOT XDR_IS_MANDATORY AND NOT XDR_IS_OPTIONAL)
- SET(XDR_IS_MANDATORY 0)
- SET(XDR_IS_OPTIONAL 1)
-ENDIF(NOT XDR_IS_MANDATORY AND NOT XDR_IS_OPTIONAL)
-
-# ------
-
-SET(XDR_STATUS 1)
-IF(WITHOUT_XDR OR WITH_XDR STREQUAL 0)
- SET(XDR_STATUS 0)
- MESSAGE(STATUS "xdr disabled from command line.")
-ENDIF(WITHOUT_XDR OR WITH_XDR STREQUAL 0)
-
-# ------
-
-IF(XDR_STATUS)
- IF(WITH_XDR)
- SET(XDR_ROOT_USER ${WITH_XDR})
- ELSE(WITH_XDR)
- SET(XDR_ROOT_USER $ENV{XDR_ROOT})
- ENDIF(WITH_XDR)
-ENDIF(XDR_STATUS)
-
-# -----
-
-IF(XDR_STATUS)
- IF(XDR_ROOT_USER)
- SET(XDR_FIND_PATHS_OPTION NO_DEFAULT_PATH)
- ELSE(XDR_ROOT_USER)
- SET(XDR_FIND_PATHS_OPTION)
- ENDIF(XDR_ROOT_USER)
-ENDIF(XDR_STATUS)
-
-# -----
-
-IF(XDR_STATUS)
- IF(XDR_ROOT_USER)
- SET(XDR_INCLUDE_PATHS ${XDR_ROOT_USER} ${XDR_ROOT_USER}/include)
- ELSE(XDR_ROOT_USER)
- SET(XDR_INCLUDE_PATHS)
- ENDIF(XDR_ROOT_USER)
- SET(XDR_INCLUDE_TO_FIND rpc/xdr.h)
- FIND_PATH(XDR_INCLUDE_DIR ${XDR_INCLUDE_TO_FIND} PATHS ${XDR_INCLUDE_PATHS} ${XDR_FIND_PATHS_OPTION})
- IF(XDR_INCLUDE_DIR)
- IF(XDR_ROOT_USER)
- SET(XDR_INCLUDES -I${XDR_INCLUDE_DIR} -I${XDR_INCLUDE_DIR}/src/msvc)# to remove
- SET(XDR_INCLUDE_DIRS ${XDR_INCLUDE_DIR} ${XDR_INCLUDE_DIR}/src/msvc)
- ENDIF(XDR_ROOT_USER)
- MESSAGE(STATUS "${XDR_INCLUDE_TO_FIND} found in ${XDR_INCLUDE_DIR}")
- ELSE(XDR_INCLUDE_DIR)
- SET(XDR_STATUS 0)
- IF(XDR_ROOT_USER)
- MESSAGE(STATUS "${XDR_INCLUDE_TO_FIND} not found in ${XDR_INCLUDE_PATHS}, check your XDR installation.")
- ELSE(XDR_ROOT_USER)
- MESSAGE(STATUS "${XDR_INCLUDE_TO_FIND} not found on system, try to use WITH_XDR option or XDR_ROOT environment variable.")
- ENDIF(XDR_ROOT_USER)
- ENDIF(XDR_INCLUDE_DIR)
-ENDIF(XDR_STATUS)
-
-# ----
-
-IF(XDR_STATUS)
- IF(XDR_ROOT_USER)
- SET(XDR_LIB_PATHS ${XDR_ROOT_USER}/lib)
- ELSE(XDR_ROOT_USER)
- SET(XDR_LIB_PATHS)
- ENDIF(XDR_ROOT_USER)
-ENDIF(XDR_STATUS)
-
-IF(XDR_STATUS)
- FIND_LIBRARY(XDR_LIB xdr PATHS ${XDR_LIB_PATHS} ${XDR_FIND_PATHS_OPTION})
- SET(XDR_LIBS)
- IF(XDR_LIB)
- SET(XDR_LIBS ${XDR_LIBS} ${XDR_LIB})
- MESSAGE(STATUS "xdr lib found: ${XDR_LIB}")
- ELSE(XDR_LIB)
- SET(XDR_STATUS 0)
- IF(XDR_ROOT_USER)
- MESSAGE(STATUS "xdr lib not found in ${XDR_LIB_PATHS}, check your XDR installation.")
- ELSE(XDR_ROOT_USER)
- MESSAGE(STATUS "xdr lib not found on system, try to use WITH_XDR option or XDR_ROOT environment variable.")
- ENDIF(XDR_ROOT_USER)
- ENDIF(XDR_LIB)
-ENDIF(XDR_STATUS)
-
-# ----
-
-IF(XDR_STATUS)
- SET(XDR_IS_OK 1)
- SET(XDR_CPPFLAGS -DHAS_XDR ${XDR_INCLUDES})# to remove
- SET(XDR_DEFINITIONS "-DHAS_XDR")
-ELSE(XDR_STATUS)
- IF(XDR_IS_MANDATORY)
- MESSAGE(FATAL_ERROR "xdr not found ... mandatory ... abort")
- ELSE(XDR_IS_MANDATORY)
- MESSAGE(STATUS "xdr not found ... optional ... disabled")
- ENDIF(XDR_IS_MANDATORY)
-ENDIF(XDR_STATUS)
-
-# ------
+MESSAGE(STATUS "Check for XDR ...")
+SET(XDR_ROOT_DIR $ENV{XDR_ROOT_DIR} CACHE PATH "Path to the XDR.")
+IF(XDR_ROOT_DIR)
+ LIST(APPEND CMAKE_LIBRARY_PATH "${XDR_ROOT_DIR}/lib")
+ LIST(APPEND CMAKE_INCLUDE_PATH "${XDR_ROOT_DIR}/include")
+ENDIF(XDR_ROOT_DIR)
+
+FIND_LIBRARY(XDR_LIBRARIES xdr)
+FIND_PATH(XDR_INCLUDE_DIRS rpc/xdr.h)
+SET(XDR_DEFINITIONS "-DHAS_XDR")
+SET(XDR_FOUND 1)
+
+IF(WIN32)
+ LIST(APPEND XDR_INCLUDE_DIRS "${XDR_ROOT_DIR}/src/msvc")
+ENDIF(WIN32)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XDR REQUIRED_VARS XDR_FOUND)