X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=a6e1739d86cef860bd45667685f6a2a50cfd2c8c;hb=63536ed91ee1fbdd3fd7434e2a642f74bafb7425;hp=05f3f45ead39366e3c67380da18a3b2b1dd37c66;hpb=4a8694e2c6bbc95f4d1f7583d8d8b945892eb74c;p=tools%2Fmedcoupling.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 05f3f45ea..a6e1739d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,12 +46,16 @@ 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 ... # +SET(_default_MPI OFF) 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) + ADD_DEFINITIONS(${KERNEL_DEFINITIONS}) + INCLUDE_DIRECTORIES(${KERNEL_INCLUDE_DIRS}) + SET(_default_MPI ${SALOME_USE_MPI}) 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}) @@ -63,10 +67,6 @@ ELSE(NOT SALOME_MED_STANDALONE) INCLUDE(SalomeMacros) ENDIF(NOT SALOME_MED_STANDALONE) -# Platform setup -# ============== -INCLUDE(SalomeSetupPlatform) - # # User options # ============ @@ -76,14 +76,14 @@ 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_MED_WITH_FILE_EXAMPLES "Install examples of files containing meshes and fields of different formats." ON) +OPTION(SALOME_USE_MPI "(Use MPI containers) - For MED this triggers the build of ParaMEDMEM." ${_default_MPI}) 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) - +CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_METIS "Enable metis graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF) +CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_SCOTCH "Enable scotch graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF) +CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_PARMETIS "Enable parmetis graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;SALOME_USE_MPI" OFF) # # Set list of prerequisites @@ -100,26 +100,30 @@ IF(NOT SALOME_MED_STANDALONE) ENDIF(EXISTS ${KERNEL_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") FIND_PACKAGE(SalomeOmniORB REQUIRED) + LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") ELSE(NOT SALOME_MED_STANDALONE) + LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local_without_kernel/cmake_files") INCLUDE(SalomeMacros) ENDIF(NOT SALOME_MED_STANDALONE) -LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") +# Platform setup +# ============== +INCLUDE(SalomeSetupPlatform) IF(NOT SALOME_MED_MICROMED) FIND_PACKAGE(SalomeHDF5 REQUIRED) FIND_PACKAGE(SalomeMEDFile REQUIRED) IF(SALOME_MED_ENABLE_PARTITIONER) FIND_PACKAGE(SalomeLibXml2) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(LibXml2 SALOME_MED_ENABLE_PARTITIONER) + SALOME_LOG_OPTIONAL_PACKAGE(LibXml2 SALOME_MED_ENABLE_PARTITIONER) IF(SALOME_MED_PARTITIONER_METIS) FIND_PACKAGE(SalomeMetis) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Metis SALOME_MED_PARTITIONER_METIS) + SALOME_LOG_OPTIONAL_PACKAGE(Metis SALOME_MED_PARTITIONER_METIS) ENDIF(SALOME_MED_PARTITIONER_METIS) IF(SALOME_MED_PARTITIONER_SCOTCH) FIND_PACKAGE(SalomeScotch) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Scotch SALOME_MED_PARTITIONER_SCOTCH) + SALOME_LOG_OPTIONAL_PACKAGE(Scotch SALOME_MED_PARTITIONER_SCOTCH) ENDIF(SALOME_MED_PARTITIONER_SCOTCH) ENDIF(SALOME_MED_ENABLE_PARTITIONER) ENDIF(NOT SALOME_MED_MICROMED) @@ -144,43 +148,43 @@ ENABLE_TESTING() # let it outsite because even if SALOME_BUILD_TESTS is OFF, pyt IF(SALOME_BUILD_TESTS) FIND_PACKAGE(SalomeCppUnit) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(CppUnit SALOME_BUILD_TESTS) + SALOME_LOG_OPTIONAL_PACKAGE(CppUnit SALOME_BUILD_TESTS) ENDIF(SALOME_BUILD_TESTS) IF(SALOME_USE_MPI) FIND_PACKAGE(SalomeMPI REQUIRED) IF(SALOME_MED_PARTITIONER_PARMETIS) FIND_PACKAGE(SalomeParMetis) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(ParMetis SALOME_MED_PARTITIONER_PARMETIS) + SALOME_LOG_OPTIONAL_PACKAGE(ParMetis SALOME_MED_PARTITIONER_PARMETIS) ENDIF(SALOME_MED_PARTITIONER_PARMETIS) ENDIF(SALOME_USE_MPI) IF(SALOME_MED_ENABLE_RENUMBER) FIND_PACKAGE(SalomeBoost) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Boost SALOME_MED_ENABLE_RENUMBER) + SALOME_LOG_OPTIONAL_PACKAGE(Boost SALOME_MED_ENABLE_RENUMBER) ENDIF(SALOME_MED_ENABLE_RENUMBER) IF(SALOME_BUILD_DOC) FIND_PACKAGE(SalomeDoxygen) FIND_PACKAGE(SalomeGraphviz) FIND_PACKAGE(SalomeSphinx) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Doxygen SALOME_BUILD_DOC) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Graphviz SALOME_BUILD_DOC) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Sphinx SALOME_BUILD_DOC) + SALOME_LOG_OPTIONAL_PACKAGE(Doxygen SALOME_BUILD_DOC) + SALOME_LOG_OPTIONAL_PACKAGE(Graphviz SALOME_BUILD_DOC) + SALOME_LOG_OPTIONAL_PACKAGE(Sphinx SALOME_BUILD_DOC) ENDIF(SALOME_BUILD_DOC) IF(SALOME_MED_ENABLE_PYTHON) FIND_PACKAGE(SalomePython) FIND_PACKAGE(SalomeSWIG) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(Python SALOME_MED_ENABLE_PYTHON) - SALOME_UPDATE_FLAG_AND_LOG_PACKAGE(SWIG SALOME_MED_ENABLE_PYTHON) + SALOME_LOG_OPTIONAL_PACKAGE(Python SALOME_MED_ENABLE_PYTHON) + SALOME_LOG_OPTIONAL_PACKAGE(SWIG SALOME_MED_ENABLE_PYTHON) IF(NOT SALOME_MED_STANDALONE) FIND_PACKAGE(SalomeOmniORBPy REQUIRED) ENDIF(NOT SALOME_MED_STANDALONE) ENDIF(SALOME_MED_ENABLE_PYTHON) # Detection report -SALOME_PACKAGE_REPORT() +SALOME_PACKAGE_REPORT_AND_CHECK() # Directories # @@ -231,6 +235,8 @@ SET(output ${PROJECT_BINARY_DIR}/MED_version.h) MESSAGE(STATUS "Creation of ${output}") CONFIGURE_FILE(${input} ${output} @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/MED_version.h DESTINATION ${SALOME_INSTALL_HEADERS}) +CONFIGURE_FILE(VERSION.in VERSION @ONLY) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION ${SALOME_INSTALL_BINS}) # Sources # ======== @@ -239,8 +245,9 @@ IF(WIN32) ENDIF(WIN32) ADD_SUBDIRECTORY(src) -ADD_SUBDIRECTORY(bin) -ADD_SUBDIRECTORY(adm_local) +IF(NOT SALOME_MED_STANDALONE) + ADD_SUBDIRECTORY(adm_local) +ENDIF(NOT SALOME_MED_STANDALONE) IF(SALOME_BUILD_DOC) ADD_SUBDIRECTORY(doc) @@ -253,7 +260,9 @@ ELSE(NOT SALOME_MED_STANDALONE) ENDIF(NOT SALOME_MED_STANDALONE) IF(NOT SALOME_MED_MICROMED) - ADD_SUBDIRECTORY(resources) + IF(SALOME_MED_WITH_FILE_EXAMPLES) + ADD_SUBDIRECTORY(resources) + ENDIF(SALOME_MED_WITH_FILE_EXAMPLES) ENDIF(NOT SALOME_MED_MICROMED) # Configuration export @@ -311,7 +320,7 @@ SET(SPHINX_ROOT_DIR "${SPHINX_ROOT_DIR}") # Get the relative path of the include directory so # we can register it in the generated configuration files: SET(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR}") -CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${PROJECT_NAME}Config.cmake.in +CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in ${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE}_LOCAL" PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX