Salome HOME
Merge branch 'abn/fix_orient' into V7_main
[tools/medcoupling.git] / src / MEDPartitioner / CMakeLists.txt
index e89c23e4c2898e8a59a3ab267fea61b0b31f3671..bec1a321a05c26885256a1a089c7156b76607f78 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # 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.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -23,7 +23,7 @@ INCLUDE_DIRECTORIES(
   ${LIBXML2_INCLUDE_DIR}
   ${MEDFILE_INCLUDE_DIRS}
   ${HDF5_INCLUDE_DIRS}
-  ${PTHREADS_INCLUDE_DIRS}
+  ${PTHREAD_INCLUDE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDLoader
   ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling
   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL
@@ -33,22 +33,32 @@ INCLUDE_DIRECTORIES(
   ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints
   )
 
-IF(SALOME_MED_PARTITIONER_SCOTCH)
-  ADD_DEFINITIONS(${SCOTCH_DEFINITIONS})
-  ADD_DEFINITIONS("-DMED_ENABLE_SCOTCH")
-  INCLUDE_DIRECTORIES(${SCOTCH_INCLUDE_DIRS})
-ENDIF(SALOME_MED_PARTITIONER_SCOTCH)
-
 IF(SALOME_MED_PARTITIONER_METIS)
   ADD_DEFINITIONS(${METIS_DEFINITIONS})
   ADD_DEFINITIONS("-DMED_ENABLE_METIS")
+  IF(SALOME_MED_METIS_V5)
+    ADD_DEFINITIONS("-DMED_ENABLE_METIS_V5")
+  ENDIF(SALOME_MED_METIS_V5)
   INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIRS})
 ENDIF(SALOME_MED_PARTITIONER_METIS)
 
-IF(MED_ENABLE_PARMETIS)
+
+########
+# VERY IMPORTANT PUT METIS BEFORE SCOTCH because 
+# metis.h is also in SCOTCH install dir !!!
+########
+IF(SALOME_MED_PARTITIONER_SCOTCH)
+  ADD_DEFINITIONS(${SCOTCH_DEFINITIONS})
+  ADD_DEFINITIONS("-DMED_ENABLE_SCOTCH")
+  INCLUDE_DIRECTORIES(${SCOTCH_INCLUDE_DIRS})
+ENDIF(SALOME_MED_PARTITIONER_SCOTCH)
+
+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})
@@ -97,17 +107,16 @@ SET(medpartitionercpp_LDFLAGS
   ${HDF5_LIBRARIES}
   ${STDLIB}
   ${LIBXML2_LIBRARIES}
-  ${MPI_LIBRARIES}
   interpkernel
   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)
@@ -121,24 +130,22 @@ IF(SALOME_MED_PARTITIONER_SCOTCH)
   SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${SCOTCH_LIBRARIES})
 ENDIF(SALOME_MED_PARTITIONER_SCOTCH)
 
-IF(SALOME_USE_MPI)
-  SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES}
-    MEDPARTITIONER_UtilsPara.cxx
-    MEDPARTITIONER_JointFinder.cxx
-  )
-ADD_EXECUTABLE(medpartitioner_para medpartitioner_para.cxx)
+IF(${SALOME_USE_MPI})
+  SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_UtilsPara.cxx MEDPARTITIONER_JointFinder.cxx)
+  ADD_EXECUTABLE(medpartitioner_para medpartitioner_para.cxx)
+  SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${MPI_LIBRARIES})
   SET_TARGET_PROPERTIES(medpartitioner_para PROPERTIES COMPILE_FLAGS "${medpartitionercpp_DEFINITIONS}")
   TARGET_LINK_LIBRARIES(medpartitioner_para medpartitionercpp ${medpartitionercpp_LDFLAGS})
   INSTALL(TARGETS medpartitioner_para DESTINATION ${SALOME_INSTALL_BINS})
-ENDIF(SALOME_USE_MPI)                    
+ENDIF(${SALOME_USE_MPI})
+
+ADD_DEFINITIONS(${medpartitionercpp_DEFINITIONS})
   
 ADD_LIBRARY(medpartitionercpp SHARED ${medpartitionercpp_SOURCES})
-SET_TARGET_PROPERTIES(medpartitionercpp PROPERTIES COMPILE_FLAGS "${PLATFORM_DEFINITIONS} ${medpartitionercpp_DEFINITIONS}")
 TARGET_LINK_LIBRARIES(medpartitionercpp ${medpartitionercpp_LDFLAGS} ${PLATFORM_LIBS} ${PTHREAD_LIBS})
 INSTALL(TARGETS medpartitionercpp DESTINATION ${SALOME_INSTALL_LIBS})
 
 ADD_EXECUTABLE(medpartitioner medpartitioner.cxx)
-SET_TARGET_PROPERTIES(medpartitioner PROPERTIES COMPILE_FLAGS "${PLATFORM_DEFINITIONS} ${medpartitionercpp_DEFINITIONS}")
 TARGET_LINK_LIBRARIES(medpartitioner medpartitionercpp ${medpartitionercpp_LDFLAGS})
 INSTALL(TARGETS medpartitioner DESTINATION ${SALOME_INSTALL_BINS})