]> SALOME platform Git repositories - modules/med.git/commitdiff
Salome HOME
Addition of SCOTCH in MEDPartitioner.
authorageay <ageay>
Tue, 9 Jul 2013 12:37:50 +0000 (12:37 +0000)
committerageay <ageay>
Tue, 9 Jul 2013 12:37:50 +0000 (12:37 +0000)
CMakeLists.txt
adm_local/cmake_files/CMakeLists.txt
adm_local/cmake_files/FindMED.cmake [deleted file]
adm_local/cmake_files/FindParMetis.cmake [new file with mode: 0644]
adm_local/cmake_files/FindRENUMBER.cmake [deleted file]
adm_local/cmake_files/FindSPLITTER.cmake [deleted file]
adm_local/cmake_files/FindSalomeParMetis.cmake [new file with mode: 0644]
src/MEDPartitioner/CMakeLists.txt
src/MEDPartitioner/MEDPARTITIONER_metis.c
src/MEDPartitioner/Test/CMakeLists.txt

index 52524ead85df8917fe3175bcafd51817233240ea..8bd649d631c3572f97ac0d564300ee94c73d4c7e 100644 (file)
@@ -117,6 +117,9 @@ ENDIF(SALOME_BUILD_TESTS)
 
 IF(SALOME_USE_MPI)
   FIND_PACKAGE(SalomeMPI REQUIRED)
+  IF(SALOME_MED_PARTITIONER_PARMETIS)
+    FIND_PACKAGE(SalomeParMetis REQUIRED)
+  ENDIF(SALOME_MED_PARTITIONER_PARMETIS)
 ENDIF(SALOME_USE_MPI)
 
 IF(SALOME_BUILD_DOC)
index 9b0f47f198cefe78451ab87f99bb285a4e2b4056..1a69921e06b6f2b55e8c9a71d72390482672c9ab 100644 (file)
 #
 
 SET(admlocal_cmake_DATA
-  FindMED.cmake
   FindXDR.cmake
   FindMetis.cmake
   FindSalomeMetis.cmake
-  FindPARMETIS.cmake
-  FindRENUMBER.cmake
+  FindParMetis.cmake
+  FindSalomeParMetis.cmake
   FindScotch.cmake
   FindSalomeScotch.cmake
-  FindSPLITTER.cmake
   )
 
 INSTALL(FILES ${admlocal_cmake_DATA} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL})
diff --git a/adm_local/cmake_files/FindMED.cmake b/adm_local/cmake_files/FindMED.cmake
deleted file mode 100644 (file)
index cca55f7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2007-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
-#
-
-SET(MED_CXXFLAGS -I${MED_ROOT_DIR}/include/salome)
-
-FIND_LIBRARY(interpkernel interpkernel ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(InterpKernelTest InterpKernelTest ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MEDClientcmodule MEDClientcmodule ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medcouplingclient medcouplingclient ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medcouplingcorba medcouplingcorba ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medcouplingremapper medcouplingremapper ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medcoupling medcoupling ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MEDEngine MEDEngine ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medloader medloader ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MEDMEMCppTest MEDMEMCppTest ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MEDMEMImpl MEDMEMImpl ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medmem medmem ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MED MED ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(medsplitter medsplitter ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(MEDSPLITTERTest MEDSPLITTERTest ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(med_V2_1 med_V2_1 ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(paramedcouplingcorba paramedcouplingcorba ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(paramedloader paramedloader ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(paramedmemcompo paramedmemcompo ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(paramedmem paramedmem ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(ParaMEDMEMTest ParaMEDMEMTest ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(SalomeIDLMED SalomeIDLMED ${MED_ROOT_DIR}/lib/salome)
-FIND_LIBRARY(SalomeIDLMEDTests SalomeIDLMEDTests ${MED_ROOT_DIR}/lib/salome)
diff --git a/adm_local/cmake_files/FindParMetis.cmake b/adm_local/cmake_files/FindParMetis.cmake
new file mode 100644 (file)
index 0000000..1ed7ad1
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright (C) 2007-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
+#
+
+# ------
+
+MESSAGE(STATUS "Check for parmetis ...")
+
+SET(PARMETIS_ROOT_DIR $ENV{PARMETIS_ROOT_DIR} CACHE PATH "Path to the PARMETIS.")
+IF(PARMETIS_ROOT_DIR)
+  LIST(APPEND CMAKE_LIBRARY_PATH "${PARMETIS_ROOT_DIR}")
+  LIST(APPEND CMAKE_INCLUDE_PATH "${PARMETIS_ROOT_DIR}/Lib")
+ENDIF(PARMETIS_ROOT_DIR)
+
+FIND_LIBRARY(PARMETIS_LIBRARIES parmetis)
+FIND_LIBRARY(PARMETIS_SEQ_LIBRARIES metis)
+SET(PARMETIS_LIBRARIES ${PARMETIS_LIBRARIES} ${PARMETIS_SEQ_LIBRARIES})
+FIND_PATH(PARMETIS_INCLUDE_DIRS parmetis.h)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ParMetis REQUIRED_VARS PARMETIS_INCLUDE_DIRS PARMETIS_LIBRARIES)
diff --git a/adm_local/cmake_files/FindRENUMBER.cmake b/adm_local/cmake_files/FindRENUMBER.cmake
deleted file mode 100644 (file)
index 09a4202..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2007-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
-#
-
-# ------
-
-MESSAGE(STATUS "Check for renumber activation ...")
-
-# ------
-
-IF(RENUMBER_IS_MANDATORY STREQUAL 0)
-  SET(RENUMBER_IS_MANDATORY 0)
-  SET(RENUMBER_IS_OPTIONAL 1)
-ENDIF(RENUMBER_IS_MANDATORY STREQUAL 0)
-IF(RENUMBER_IS_OPTIONAL STREQUAL 0)
-  SET(RENUMBER_IS_MANDATORY 1)
-  SET(RENUMBER_IS_OPTIONAL 0)
-ENDIF(RENUMBER_IS_OPTIONAL STREQUAL 0)
-IF(NOT RENUMBER_IS_MANDATORY AND NOT RENUMBER_IS_OPTIONAL)
-  SET(RENUMBER_IS_MANDATORY 0)
-  SET(RENUMBER_IS_OPTIONAL 1)
-ENDIF(NOT RENUMBER_IS_MANDATORY AND NOT RENUMBER_IS_OPTIONAL)
-
-# ------
-
-SET(MED_ENABLE_RENUMBER 1)
-IF(WITHOUT_RENUMBER OR WITH_RENUMBER STREQUAL 0)
-  SET(MED_ENABLE_RENUMBER 0)
-  MESSAGE(STATUS "renumber disabled from command line.")
-ENDIF(WITHOUT_RENUMBER OR WITH_RENUMBER STREQUAL 0)
diff --git a/adm_local/cmake_files/FindSPLITTER.cmake b/adm_local/cmake_files/FindSPLITTER.cmake
deleted file mode 100644 (file)
index 4f9fadc..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2007-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
-#
-
-# ------
-
-MESSAGE(STATUS "Check for splitters activation ...")
-
-# ------
-
-IF(SPLITTER_IS_MANDATORY STREQUAL 0)
-  SET(SPLITTER_IS_MANDATORY 0)
-  SET(SPLITTER_IS_OPTIONAL 1)
-ENDIF(SPLITTER_IS_MANDATORY STREQUAL 0)
-IF(SPLITTER_IS_OPTIONAL STREQUAL 0)
-  SET(SPLITTER_IS_MANDATORY 1)
-  SET(SPLITTER_IS_OPTIONAL 0)
-ENDIF(SPLITTER_IS_OPTIONAL STREQUAL 0)
-IF(NOT SPLITTER_IS_MANDATORY AND NOT SPLITTER_IS_OPTIONAL)
-  SET(SPLITTER_IS_MANDATORY 0)
-  SET(SPLITTER_IS_OPTIONAL 1)
-ENDIF(NOT SPLITTER_IS_MANDATORY AND NOT SPLITTER_IS_OPTIONAL)
-
-# ------
-
-SET(MED_ENABLE_SPLITTER 1)
-IF(WITHOUT_SPLITTER OR WITH_SPLITTER STREQUAL 0)
-  SET(MED_ENABLE_SPLITTER 0)
-  MESSAGE(STATUS "splitter disabled from command line.")
-ENDIF(WITHOUT_SPLITTER OR WITH_SPLITTER STREQUAL 0)
diff --git a/adm_local/cmake_files/FindSalomeParMetis.cmake b/adm_local/cmake_files/FindSalomeParMetis.cmake
new file mode 100644 (file)
index 0000000..f6e9d2c
--- /dev/null
@@ -0,0 +1,28 @@
+# 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: Adrien Bruneton
+#
+
+# Medfile detection dor Salome
+#
+#  !! Please read the generic detection procedure in SalomeMacros.cmake !!
+#
+
+SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(ParMetis METIS_ROOT_DIR_EXP 0)
+#MARK_AS_ADVANCED()
index 0e13e49f118480418fb7bec8fe4566d011bf8df1..4cc5bf5dc058470a1a31d4e7386da1bc49ae3489 100644 (file)
@@ -45,10 +45,12 @@ IF(SALOME_MED_PARTITIONER_METIS)
   INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIRS})
 ENDIF(SALOME_MED_PARTITIONER_METIS)
 
-IF(MED_ENABLE_PARMETIS)
+IF(SALOME_MED_PARTITIONER_PARMETIS)
   ADD_DEFINITIONS(${PARMETIS_DEFINITIONS})
+  ADD_DEFINITIONS("-DMED_ENABLE_PARMETIS")
+  ADD_DEFINITIONS("-DMED_ENABLE_METIS")
   INCLUDE_DIRECTORIES(${PARMETIS_INCLUDE_DIRS})
-ENDIF(MED_ENABLE_PARMETIS)
+ENDIF(SALOME_MED_PARTITIONER_PARMETIS)
 
 IF(SALOME_USE_MPI)
   ADD_DEFINITIONS(${MPI_DEFINITIONS})
@@ -101,12 +103,12 @@ SET(medpartitionercpp_LDFLAGS
   medcoupling
   medloader
 )
-IF(MED_ENABLE_PARMETIS)
+IF(SALOME_MED_PARTITIONER_PARMETIS)
   SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_ParMetisGraph.hxx)
-  SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_ParMetisGraph.cxx)
+  SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_ParMetisGraph.cxx MEDPARTITIONER_MetisGraph.cxx)
   SET(medpartitionercpp_DEFINITIONS "${medpartitionercpp_DEFINITIONS} ${PARMETIS_DEFINITIONS}")
-  SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${PARMETIS_LIBS})
-ENDIF(MED_ENABLE_PARMETIS)
+  SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${PARMETIS_LIBRARIES})
+ENDIF(SALOME_MED_PARTITIONER_PARMETIS)
 IF(SALOME_MED_PARTITIONER_METIS)
   SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_MetisGraph.hxx)
   SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_MetisGraph.cxx)
index 98ef41eeee3bcd86ec3a616d95d0e53ba3056f21..86dc83a499f55c459e73d757122ddbb107a00487 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "MEDPARTITIONER_metis.h"
 
-#if defined(MED_ENABLE_METIS)
+#if defined(MED_ENABLE_METIS) & !defined(MED_ENABLE_PARMETIS)
   #include "defs.h"
   #include "struct.h"
   #include "metis.h"
index b7ed8a65af2a5fa2c5709a73c163991ca32d3b71..f981249c878d12db089146755d123ec6212dd653 100644 (file)
@@ -36,9 +36,9 @@ SET(MEDPARTITIONERTest_SOURCES
 SET(MEDPARTITIONERTest_LDFLAGS medpartitionercpp ${CPPUNIT_LIBRARIES})
 
 IF(SALOME_USE_MPI)
-  IF(MED_ENABLE_PARMETIS)
+  IF(SALOME_MED_PARTITIONER_PARMETIS)
     SET(MEDPARTITIONERTest_SOURCES ${MEDPARTITIONERTest_SOURCES} MEDPARTITIONERTestPara.cxx)
-  ENDIF(MED_ENABLE_PARMETIS)
+  ENDIF(SALOME_MED_PARTITIONER_PARMETIS)
 ENDIF(SALOME_USE_MPI)
 
 ADD_LIBRARY(MEDPARTITIONERTest SHARED ${MEDPARTITIONERTest_SOURCES})