Salome HOME
Addition of SCOTCH in MEDPartitioner.
[modules/med.git] / CMakeLists.txt
index dd1b65d7cdc663b3cf47cf4fc59e56cf0802a90e..808126afb12c343723d64f879a87307fc4094e1a 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-# TODO: write those in the new format, and load them via FIND_PACKAGE():
-#INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindPARMETIS.cmake)
-#INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindMETIS.cmake)
-#INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindSCOTCH.cmake)
-#INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindSPLITTER.cmake)
-#INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindRENUMBER.cmake)
 #IF(WIN32)
 #  INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindXDR.cmake)
 #ENDIF(WIN32)
@@ -51,14 +45,19 @@ SET(VERSION_DEV "0")
 #
 # User options
 # ============
+INCLUDE(CMakeDependentOption)
 OPTION(SALOME_MED_STANDALONE "Build MED without CORBA bindings. When OFF, exchange to PARAVIS is disabled." OFF)
 OPTION(SALOME_MED_MICROMED "Build MED without MED file dependancy." OFF)
 OPTION(SALOME_MED_ENABLE_PYTHON "Build PYTHON bindings." ON)
+OPTION(SALOME_MED_ENABLE_PARTITIONER "Build MEDPartitioner." ON)
 OPTION(SALOME_USE_MPI "To build ParaMEDMEM." OFF)
 OPTION(SALOME_BUILD_GUI "Build GUI of MED." ON)
 OPTION(SALOME_BUILD_TESTS "Build MED tests." ON)
 OPTION(SALOME_BUILD_DOC "Build MED doc." ON)
-
+CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_METIS "Enable metis graph librarie in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF)
+CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_SCOTCH "Enable scotch graph librarie in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF)
+CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_PARMETIS "Enable parmetis graph librarie in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;SALOME_USE_MPI" OFF)
+#
 #
 # Set list of prerequisites
 # =========================
@@ -73,6 +72,7 @@ IF(NOT SALOME_MED_STANDALONE)
     MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR or turn option SALOME_MED_STANDALONE to ON !")
   ENDIF(EXISTS ${KERNEL_ROOT_DIR})
   LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files")
+  LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
   FIND_PACKAGE(SalomeOmniORB REQUIRED)
 ELSE(NOT SALOME_MED_STANDALONE)
   LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local_without_kernel/cmake_files")
@@ -82,6 +82,15 @@ ENDIF(NOT SALOME_MED_STANDALONE)
 IF(NOT SALOME_MED_MICROMED)
   FIND_PACKAGE(SalomeHDF5 REQUIRED)
   FIND_PACKAGE(SalomeMEDFile REQUIRED)
+  IF(SALOME_MED_ENABLE_PARTITIONER)
+    FIND_PACKAGE(SalomeLibXml2 REQUIRED)
+    IF(SALOME_MED_PARTITIONER_METIS)
+      FIND_PACKAGE(SalomeMetis REQUIRED)
+    ENDIF(SALOME_MED_PARTITIONER_METIS)
+    IF(SALOME_MED_PARTITIONER_SCOTCH)
+      FIND_PACKAGE(SalomeScotch REQUIRED)
+    ENDIF(SALOME_MED_PARTITIONER_SCOTCH)
+  ENDIF(SALOME_MED_ENABLE_PARTITIONER)
 ENDIF(NOT SALOME_MED_MICROMED)
 
 IF(SALOME_BUILD_GUI)
@@ -120,11 +129,6 @@ IF(SALOME_MED_ENABLE_PYTHON)
   FIND_PACKAGE(SalomeSWIG REQUIRED)
 ENDIF(SALOME_MED_ENABLE_PYTHON)
 
-IF(NOT SALOME_MED_MICROMED)
-  FIND_PACKAGE(SalomeMEDFile REQUIRED)
-ENDIF(NOT SALOME_MED_MICROMED)
-
-
 # Directories
 #
 # Directories have to be given after prerequisites (to be able to use