X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=621eb595960c0305747d247fd748d489bf80c4bc;hb=d2494ddd1fabcbe5596c98a998a9dc085908cb3e;hp=a4b0f7442259f70b742a6d203812699eb61e3e67;hpb=fac242b8fce835550ee40a7d1827d97eb084eea9;p=tools%2Fmedcoupling.git diff --git a/CMakeLists.txt b/CMakeLists.txt index a4b0f7442..621eb5959 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,14 +17,8 @@ # 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) +# INCLUDE(${PROJECT_SOURCE_DIR}/adm_local/cmake_files/FindXDR.cmake) #ENDIF(WIN32) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) @@ -48,16 +42,44 @@ SET(VERSION ${${PROJECT_NAME_UC}_VERSION}) SET(XVERSION 0x0${${PROJECT_NAME_UC}_MAJOR_VERSION}0${${PROJECT_NAME_UC}_MINOR_VERSION}0${${PROJECT_NAME_UC}_PATCH_VERSION}) SET(VERSION_DEV "0") +# +# Kernel detection comes before user options to be +# able to take previous values of SALOME_USE_MPI, SALOME_BUILD_DOC, etc ... +# +IF(NOT SALOME_MED_STANDALONE) + SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL") + IF(EXISTS ${KERNEL_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") + INCLUDE(SalomeMacros) + FIND_PACKAGE(SalomeKERNEL REQUIRED) + ELSE(EXISTS ${KERNEL_ROOT_DIR}) + 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") + FIND_PACKAGE(SalomePThread REQUIRED) # for MEDCouplingCorba/Test for EDF + FIND_PACKAGE(SalomeOmniORB REQUIRED) +ELSE(NOT SALOME_MED_STANDALONE) + LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local_without_kernel/cmake_files") + INCLUDE(SalomeMacros) +ENDIF(NOT SALOME_MED_STANDALONE) + # # 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_MED_ENABLE_RENUMBER "Build Renumber." 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 @@ -79,9 +101,20 @@ ELSE(NOT SALOME_MED_STANDALONE) INCLUDE(SalomeMacros) ENDIF(NOT SALOME_MED_STANDALONE) +LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") + IF(NOT SALOME_MED_MICROMED) FIND_PACKAGE(SalomeHDF5 REQUIRED) - FIND_PACKAGE(SalomeMedfile 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) @@ -107,8 +140,15 @@ 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_MED_ENABLE_RENUMBER) + FIND_PACKAGE(SalomeBoost) +ENDIF(SALOME_MED_ENABLE_RENUMBER) + IF(SALOME_BUILD_DOC) FIND_PACKAGE(SalomeDoxygen REQUIRED) FIND_PACKAGE(SalomeGraphviz) # Remains optional even here. @@ -118,13 +158,11 @@ ENDIF(SALOME_BUILD_DOC) IF(SALOME_MED_ENABLE_PYTHON) FIND_PACKAGE(SalomePython REQUIRED) FIND_PACKAGE(SalomeSWIG REQUIRED) + IF(NOT SALOME_MED_STANDALONE) + FIND_PACKAGE(SalomeOmniORBPy REQUIRED) + ENDIF(NOT SALOME_MED_STANDALONE) 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 @@ -235,8 +273,9 @@ EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets} # Create the configuration files: # - in the build tree: -# Ensure the variables are always defined for the configure: - +# Ensure the variables are always defined for the configure (even if empty): +SET(KERNEL_ROOT_DIR "${KERNEL_ROOT_DIR}") +SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}") SET(MEDFILE_ROOT_DIR "${MEDFILE_ROOT_DIR}") SET(HDF5_ROOT_DIR "${HDF5_ROOT_DIR}") SET(MPI_ROOT_DIR "${MPI_ROOT_DIR}") @@ -257,7 +296,8 @@ CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${PROJECT_NAME}Config.cmake. ${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE}" PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE CMAKE_INSTALL_PREFIX - MEDFILE_ROOT_DIR HDF5_ROOT_DIR OMNIORB_ROOT_DIR PTHREAD_ROOT_DIR + KERNEL_ROOT_DIR GUI_ROOT_DIR MEDFILE_ROOT_DIR + HDF5_ROOT_DIR OMNIORB_ROOT_DIR PTHREAD_ROOT_DIR SWIG_ROOT_DIR PYTHON_ROOT_DIR CPPUNIT_ROOT_DIR GRAPHVIZ_ROOT_DIR DOXYGEN_ROOT_DIR SPHINX_ROOT_DIR)