X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDPartitioner%2FCMakeLists.txt;h=bdb3a74d44cc07f2dee75f489ee3b4b6f5fe16bc;hb=490dddcbdaa4272528887a2bbaaf345c11e28cad;hp=69c64e11a47149c3be4c57ff453e08f1bdcb77b5;hpb=887d0e1efce4f46f68d2596dcd801f02f5c1f99e;p=tools%2Fmedcoupling.git diff --git a/src/MEDPartitioner/CMakeLists.txt b/src/MEDPartitioner/CMakeLists.txt index 69c64e11a..bdb3a74d4 100644 --- a/src/MEDPartitioner/CMakeLists.txt +++ b/src/MEDPartitioner/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2007-2012 CEA/DEN, EDF R&D +# Copyright (C) 2012-2021 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 @@ -17,20 +17,17 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -IF(CPPUNIT_IS_OK) - ADD_SUBDIRECTORY(Test) -ENDIF(CPPUNIT_IS_OK) +ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${MEDFILE_DEFINITIONS} ${LIBXML2_DEFINITIONS}) + +IF (NOT DEFINED MSVC) + ADD_DEFINITIONS(-Wsign-compare -Wconversion) +ENDIF() INCLUDE_DIRECTORIES( - ${PARMETIS_INCLUDE_DIRS} - ${METIS_INCLUDE_DIRS} - ${SCOTCH_INCLUDE_DIRS} - ${METIS_INCLUDE_DIRS} - ${LIBXML_INCLUDE_DIRS} - ${MED3_INCLUDE_DIRS} + ${LIBXML2_INCLUDE_DIR} + ${MEDFILE_INCLUDE_DIRS} ${HDF5_INCLUDE_DIRS} - ${MPI_INCLUDE_DIRS} - ${PTHREADS_INCLUDE_DIRS} + ${PTHREAD_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../MEDLoader ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL @@ -40,6 +37,43 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/GaussPoints ) +IF(MEDCOUPLING_PARTITIONER_METIS) + ADD_DEFINITIONS(${METIS_DEFINITIONS}) + IF(MEDCOUPLING_METIS_V5) + ADD_DEFINITIONS("-DMED_ENABLE_METIS_V5") + ENDIF(MEDCOUPLING_METIS_V5) + INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIRS}) +ENDIF(MEDCOUPLING_PARTITIONER_METIS) + + +######## +# VERY IMPORTANT PUT METIS BEFORE SCOTCH because +# metis.h is also in SCOTCH install dir !!! +######## +IF(MEDCOUPLING_PARTITIONER_PTSCOTCH) + ADD_DEFINITIONS(${PTSCOTCH_DEFINITIONS}) + INCLUDE_DIRECTORIES(${PTSCOTCH_INCLUDE_DIRS}) +ENDIF(MEDCOUPLING_PARTITIONER_PTSCOTCH) + +IF(MEDCOUPLING_PARTITIONER_SCOTCH) + ADD_DEFINITIONS(${SCOTCH_DEFINITIONS}) + INCLUDE_DIRECTORIES(${SCOTCH_INCLUDE_DIRS}) +ENDIF(MEDCOUPLING_PARTITIONER_SCOTCH) + +IF(MEDCOUPLING_PARTITIONER_PARMETIS) + ADD_DEFINITIONS(${PARMETIS_DEFINITIONS}) + INCLUDE_DIRECTORIES(${PARMETIS_INCLUDE_DIRS}) +ENDIF(MEDCOUPLING_PARTITIONER_PARMETIS) + +IF(MEDCOUPLING_USE_MPI) + ADD_DEFINITIONS(${MPI_DEFINITIONS}) + INCLUDE_DIRECTORIES(${MPI_INCLUDE_DIRS}) +ENDIF(MEDCOUPLING_USE_MPI) + +IF(MEDCOUPLING_BUILD_TESTS) + ADD_SUBDIRECTORY(Test) +ENDIF(MEDCOUPLING_BUILD_TESTS) + SET(medpartitionercpp_HEADERS_HXX MEDPARTITIONER_MeshCollection.hxx MEDPARTITIONER_MeshCollectionDriver.hxx @@ -53,8 +87,8 @@ SET(medpartitionercpp_HEADERS_HXX MEDPARTITIONER.hxx MEDPARTITIONER_ParaDomainSelector.hxx MEDPARTITIONER_ConnectZone.hxx - MEDPARTITIONER_SkyLineArray.hxx MEDPARTITIONER_Topology.hxx + MEDPARTITIONER_MEDPartitioner.hxx ) SET(medpartitionercpp_SOURCES @@ -68,62 +102,62 @@ SET(medpartitionercpp_SOURCES MEDPARTITIONER_Utils.cxx MEDPARTITIONER_ParaDomainSelector.cxx MEDPARTITIONER_ConnectZone.cxx - MEDPARTITIONER_SkyLineArray.cxx MEDPARTITIONER_metis.c + MEDPARTITIONER_MEDPartitioner.cxx ) -SET(medpartitionercpp_DEFINITIONS "${HDF5_DEFINITIONS} ${MED3_DEFINITIONS} ${LIBXML_DEFINITIONS} ${MPI_DEFINITIONS}") SET(medpartitionercpp_LDFLAGS - ${MED3_LIBS_C_ONLY} - ${HDF5_LIBS} + ${MEDFILE_C_LIBRARIES} + ${HDF5_LIBRARIES} ${STDLIB} - ${LIBXML_LIBS} - ${MPI_LIBS} + ${LIBXML2_LIBRARIES} interpkernel - medcoupling + medcouplingcpp medloader + -lpthread ) -IF(MED_ENABLE_PARMETIS) +IF(MEDCOUPLING_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) -IF(MED_ENABLE_METIS) + SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${PARMETIS_LIBRARIES}) +ENDIF(MEDCOUPLING_PARTITIONER_PARMETIS) +IF(MEDCOUPLING_PARTITIONER_METIS) SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_MetisGraph.hxx) SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_MetisGraph.cxx) SET(medpartitionercpp_DEFINITIONS "${medpartitionercpp_DEFINITIONS} ${METIS_DEFINITIONS}") - SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${METIS_LIBS}) -ENDIF(MED_ENABLE_METIS) -IF(MED_ENABLE_SCOTCH) + SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${METIS_LIBRARIES}) +ENDIF(MEDCOUPLING_PARTITIONER_METIS) +IF(MEDCOUPLING_PARTITIONER_SCOTCH) SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_ScotchGraph.hxx) SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_ScotchGraph.cxx) SET(medpartitionercpp_DEFINITIONS "${medpartitionercpp_DEFINITIONS} ${SCOTCH_DEFINITIONS}") - SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${SCOTCH_LIBS}) -ENDIF(MED_ENABLE_SCOTCH) + SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${SCOTCH_LIBRARIES}) +ENDIF(MEDCOUPLING_PARTITIONER_SCOTCH) +IF(MEDCOUPLING_PARTITIONER_PTSCOTCH) + SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_PTScotchGraph.hxx) + SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_PTScotchGraph.cxx) + SET(medpartitionercpp_DEFINITIONS "${medpartitionercpp_DEFINITIONS} ${PTSCOTCH_DEFINITIONS}") + SET(medpartitionercpp_LDFLAGS ${medpartitionercpp_LDFLAGS} ${PTSCOTCH_LIBRARIES}) +ENDIF(MEDCOUPLING_PARTITIONER_PTSCOTCH) -IF(MPI_IS_OK) - SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} - MEDPARTITIONER_UtilsPara.cxx - MEDPARTITIONER_JointFinder.cxx - ) -ENDIF(MPI_IS_OK) - -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 ${MED_salomelib_LIBS}) - -IF(MED_ENABLE_PARMETIS) +IF(${MEDCOUPLING_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 ${MED_salomebin_BINS}) -ENDIF(MED_ENABLE_PARMETIS) + INSTALL(TARGETS medpartitioner_para DESTINATION ${MEDCOUPLING_INSTALL_BINS}) +ENDIF(${MEDCOUPLING_USE_MPI}) + +ADD_DEFINITIONS(${medpartitionercpp_DEFINITIONS}) + +ADD_LIBRARY(medpartitionercpp ${medpartitionercpp_SOURCES}) +TARGET_LINK_LIBRARIES(medpartitionercpp ${medpartitionercpp_LDFLAGS} ${PLATFORM_LIBS} ${PTHREAD_LIBS}) +INSTALL(TARGETS medpartitionercpp DESTINATION ${MEDCOUPLING_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 ${MED_salomebin_BINS}) +INSTALL(TARGETS medpartitioner DESTINATION ${MEDCOUPLING_INSTALL_BINS}) -INSTALL(FILES ${medpartitionercpp_HEADERS_HXX} DESTINATION ${MED_salomeinclude_HEADERS}) +INSTALL(FILES ${medpartitionercpp_HEADERS_HXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})