X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=4747bf5d8123f46d9e7462e0a7378e96e0b214a9;hb=8d65b3fe9fcfb3f41dadfe696f3853bfcc2d1cdf;hp=64bb785fcc380a286db6204faab04e12f0333d99;hpb=1d44fa2b7e77883357e781c50a57e3e808ec28e4;p=tools%2Fmedcoupling.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 64bb785fc..4747bf5d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2015-2016 CEA/DEN, EDF R&D +# Copyright (C) 2015-2019 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 @@ -29,8 +29,8 @@ CMAKE_POLICY(SET CMP0003 NEW) # Project name, upper case STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) -SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 1) +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 9) +SET(${PROJECT_NAME_UC}_MINOR_VERSION 3) SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) SET(${PROJECT_NAME_UC}_VERSION ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) @@ -52,7 +52,7 @@ INCLUDE(SalomeSetupPlatform) # User options # ============ INCLUDE(CMakeDependentOption) -OPTION(MEDCOUPLING_MICROMED "Build MED without MED file dependancy." OFF) +OPTION(MEDCOUPLING_MICROMED "Build MED without MED file dependency." OFF) OPTION(MEDCOUPLING_ENABLE_PYTHON "Build PYTHON bindings." ON) OPTION(MEDCOUPLING_ENABLE_PARTITIONER "Build MEDPartitioner." ON) OPTION(MEDCOUPLING_ENABLE_RENUMBER "Build Renumber." ON) @@ -61,6 +61,7 @@ OPTION(MEDCOUPLING_USE_MPI "(Use MPI containers) - For MED this triggers the bui OPTION(MEDCOUPLING_BUILD_TESTS "Build MED tests." ON) OPTION(MEDCOUPLING_BUILD_DOC "Build MED doc." ON) OPTION(MEDCOUPLING_BUILD_STATIC "Build MEDCoupling library in static mode." OFF) +OPTION(MEDCOUPLING_USE_64BIT_IDS "Size of IDs to refer cells and nodes. 32 bits when OFF (default), 64 bits when ON. Not implemented yet for 64 bits." OFF) IF(${MEDCOUPLING_USE_MPI}) SET(USE_METIS_NOT_PARMETIS OFF) ELSE() @@ -69,14 +70,18 @@ ENDIF() CMAKE_DEPENDENT_OPTION(MEDCOUPLING_PARTITIONER_METIS "Enable metis graph library in MEDPartitioner." ${USE_METIS_NOT_PARMETIS} "MEDCOUPLING_ENABLE_PARTITIONER" OFF) CMAKE_DEPENDENT_OPTION(MEDCOUPLING_PARTITIONER_SCOTCH "Enable scotch graph library in MEDPartitioner." ON - "MEDCOUPLING_ENABLE_PARTITIONER;NOT MEDCOUPLING_USE_MPI" OFF) + "MEDCOUPLING_ENABLE_PARTITIONER" OFF) CMAKE_DEPENDENT_OPTION(MEDCOUPLING_PARTITIONER_PARMETIS "Enable parmetis graph library in MEDPartitioner." ${MEDCOUPLING_USE_MPI} "MEDCOUPLING_ENABLE_PARTITIONER;MEDCOUPLING_USE_MPI" OFF) +CMAKE_DEPENDENT_OPTION(MEDCOUPLING_PARTITIONER_PTSCOTCH "Enable ptscotch graph library in MEDPartitioner." ${MEDCOUPLING_USE_MPI} + "MEDCOUPLING_ENABLE_PARTITIONER;MEDCOUPLING_USE_MPI" OFF) SET(XDR_DEFAULT_OPTION ON) IF(WIN32) SET(XDR_DEFAULT_OPTION OFF) ENDIF() CMAKE_DEPENDENT_OPTION(MEDCOUPLING_MEDLOADER_USE_XDR "Enable use of XDR for SauvReader." ${XDR_DEFAULT_OPTION} "NOT MEDCOUPLING_MICROMED" OFF) +CMAKE_DEPENDENT_OPTION(MEDCOUPLING_BUILD_FRENCH_DOC "Generate MEDCOUPLING French documentation" OFF + "MEDCOUPLING_BUILD_DOC" OFF) IF(MEDCOUPLING_BUILD_STATIC) SET(BUILD_SHARED_LIBS 0) @@ -89,10 +94,18 @@ IF(${MEDCOUPLING_PARTITIONER_PARMETIS} AND ${MEDCOUPLING_PARTITIONER_METIS}) MESSAGE(FATAL_ERROR "ParMetis and Metis are mutually exclusive! Make a choice (options MEDCOUPLING_PARTITIONER_METIS and MEDCOUPLING_PARTITIONER_PARMETIS).") ENDIF() +IF(${MEDCOUPLING_PARTITIONER_PTSCOTCH} AND ${MEDCOUPLING_PARTITIONER_SCOTCH}) + MESSAGE(FATAL_ERROR "PTScotch and Scotch are mutually exclusive! Make a choice (options MEDCOUPLING_PARTITIONER_SCOTCH and MEDCOUPLING_PARTITIONER_PTSCOTCH).") +ENDIF() + # # Set list of prerequisites # ========================= +IF(MEDCOUPLING_USE_64BIT_IDS) + ADD_DEFINITIONS("-DMEDCOUPLING_USE_64BIT_IDS") +ENDIF(MEDCOUPLING_USE_64BIT_IDS) + IF(NOT MEDCOUPLING_MICROMED) FIND_PACKAGE(SalomeHDF5 REQUIRED) FIND_PACKAGE(SalomeMEDFile REQUIRED) @@ -131,6 +144,7 @@ ENDIF(MEDCOUPLING_BUILD_TESTS) IF(MEDCOUPLING_USE_MPI) FIND_PACKAGE(SalomeMPI REQUIRED) ADD_DEFINITIONS("-DHAVE_MPI") + SALOME_ADD_MPI_TO_HDF5() IF(MEDCOUPLING_PARTITIONER_PARMETIS) FIND_PACKAGE(SalomeParMetis) SALOME_LOG_OPTIONAL_PACKAGE(ParMetis MEDCOUPLING_PARTITIONER_PARMETIS) @@ -138,6 +152,13 @@ IF(MEDCOUPLING_USE_MPI) ADD_DEFINITIONS("-DMED_ENABLE_PARMETIS") ENDIF() ENDIF(MEDCOUPLING_PARTITIONER_PARMETIS) + IF(MEDCOUPLING_PARTITIONER_PTSCOTCH) + FIND_PACKAGE(SalomePTScotch) + SALOME_LOG_OPTIONAL_PACKAGE(PTScotch MEDCOUPLING_PARTITIONER_PTSCOTCH) + IF(SalomePTScotch_FOUND) + ADD_DEFINITIONS("-DMED_ENABLE_PTSCOTCH") + ENDIF(SalomePTScotch_FOUND) + ENDIF(MEDCOUPLING_PARTITIONER_PTSCOTCH) ENDIF(MEDCOUPLING_USE_MPI) IF(MEDCOUPLING_ENABLE_RENUMBER) @@ -153,6 +174,14 @@ IF(MEDCOUPLING_ENABLE_PYTHON) SALOME_LOG_OPTIONAL_PACKAGE(PythonInterp MEDCOUPLING_ENABLE_PYTHON) SALOME_LOG_OPTIONAL_PACKAGE(PythonLibs MEDCOUPLING_ENABLE_PYTHON) SALOME_LOG_OPTIONAL_PACKAGE(SWIG MEDCOUPLING_ENABLE_PYTHON) + IF ("${PYTHON_VERSION_MAJOR}" STREQUAL "2") + IF("${PYTHON_VERSION_MINOR}" LESS "7") + MESSAGE(FATAL_ERROR "MEDCoupling's Python requires at least Python 2.7 (you seem to have ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}). Upgrade your Python, or turn off MEDCOUPLING_ENABLE_PYTHON") + ENDIF() + ENDIF() + IF ("${PYTHON_VERSION_MAJOR}" STREQUAL "3") + MESSAGE(STATUS "Using Python 3") + ENDIF() ENDIF(MEDCOUPLING_ENABLE_PYTHON) IF(MEDCOUPLING_BUILD_DOC) @@ -237,7 +266,7 @@ INCLUDE(CMakePackageConfigHelpers) # List of targets in this project we want to make visible to the rest of the world. # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" SET(_${PROJECT_NAME}_exposed_targets - interpkernel medcoupling medcouplingremapper) + interpkernel medcouplingcpp medcouplingremapper) IF(NOT MEDCOUPLING_MICROMED) LIST(APPEND _${PROJECT_NAME}_exposed_targets medloader)