#
#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)
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
# ============
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)
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
# =========================
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")
- LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
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)
+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)
LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
+ENABLE_TESTING() # let it outsite because even if SALOME_BUILD_TESTS is OFF, python tests that not need additional compilation can be run.
+
IF(SALOME_BUILD_TESTS)
- ENABLE_TESTING()
FIND_PACKAGE(SalomeCppUnit REQUIRED)
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.
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)
# Directories
# 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}")
${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)