# 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})
INCLUDE(SalomeMacros)
ENDIF(NOT SALOME_MED_STANDALONE)
-# Platform setup
-# ==============
-INCLUDE(SalomeSetupPlatform)
-
#
# User options
# ============
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
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)
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
#
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
# ========
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)
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
# 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