X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=70c032ae02560738952f48be3b41f0e4aa08b13f;hb=d657ad0d419ee30df45b04cbb63480d8a05d181b;hp=aa3b7c2667f964b95bce04e9bf550162a7c7ed47;hpb=46e35567d5421e5f833c3dcfaa56a4d7be35b0c0;p=modules%2Fparavis.git diff --git a/CMakeLists.txt b/CMakeLists.txt index aa3b7c26..70c032ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2019 CEA/DEN, EDF R&D +# Copyright (C) 2010-2022 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 @@ -18,46 +18,38 @@ # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) INCLUDE(CMakeDependentOption) + +# Project name +# ============ +# original PROJECT(SalomePARAVIS C CXX) +# upper case +STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) IF(WIN32) STRING( REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ) SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replacementFlags}" ) ENDIF(WIN32) -# Ensure a proper linker behavior: -CMAKE_POLICY(SET CMP0003 NEW) -IF(WIN32) - CMAKE_POLICY(SET CMP0020 OLD) # disable automatic linking to qtmain.lib -ENDIF(WIN32) - -# Versioning -# =========== -# Project name, upper case -STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) - -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}) -SET(${PROJECT_NAME_UC}_VERSION_DEV 1) - # Common CMake macros # =================== SET(CONFIGURATION_ROOT_DIR $ENV{CONFIGURATION_ROOT_DIR} CACHE PATH "Path to the Salome CMake configuration files") IF(EXISTS ${CONFIGURATION_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${CONFIGURATION_ROOT_DIR}/cmake") - INCLUDE(SalomeMacros) + INCLUDE(SalomeMacros NO_POLICY_SCOPE) ELSE() MESSAGE(FATAL_ERROR "We absolutely need the Salome CMake configuration files, please define CONFIGURATION_ROOT_DIR !") ENDIF() +# Versioning +# =========== +SALOME_SETUP_VERSION(9.9.0 DEVELOPMENT) +MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"") + # Find KERNEL # =========== 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") FIND_PACKAGE(SalomeKERNEL REQUIRED) ADD_DEFINITIONS(${KERNEL_DEFINITIONS}) INCLUDE_DIRECTORIES(${KERNEL_INCLUDE_DIRS}) @@ -81,6 +73,7 @@ OPTION(SALOME_PARAVIS_BUILD_PLUGINS "Build PARAVIS plugins (MEDReader, etc ...)" OPTION(SALOME_PARAVIS_BUILD_CORBA_PLUGINS "Build PARAVIS CORBA plugins (ParaMEDCorba -- this requires the SALOME FIELDS module)" ON) OPTION(SALOME_PARAVIS_USE_GEOM_SOURCE "Import a GEOMETRY object to PARAVIS via its Corba IOR" OFF) OPTION(SALOME_PARAVIS_USE_SMESH_SOURCE "Import a MESH object to PARAVIS via its Corba IOR" OFF) +option(SALOME_USE_MPI "Activate parallel reading for MEDREADER" OFF) CMAKE_DEPENDENT_OPTION(SALOME_LIGHT_ONLY "Build SALOME Light only (no CORBA)" OFF "NOT SALOME_KERNEL_LIGHT_ONLY" ON) @@ -113,7 +106,6 @@ ENDIF() # =================== SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "Path to the Salome GUI") IF(EXISTS ${GUI_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files") # We should skip detection of VTK (done automatically from GUI) as we need to detect ParaView instead; # otherwise ParaView targets are not found SET(OMIT_DETECT_PACKAGE_VTK ON) @@ -136,7 +128,6 @@ FIND_PACKAGE(SalomeQt5 REQUIRED) ## FIND_PACKAGE(SalomeParaView REQUIRED) - ## ## From MEDCoupling / MEDFile / or MEDModule (if CORBA plugin required): ## @@ -145,19 +136,19 @@ IF(SALOME_PARAVIS_BUILD_PLUGINS) # If CORBA plugins required, take in MED module IF(SALOME_PARAVIS_BUILD_CORBA_PLUGINS) SET(FIELDS_ROOT_DIR $ENV{FIELDS_ROOT_DIR} CACHE PATH "Path to the SALOME FIELDS module") - IF(EXISTS ${FIELDS_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${FIELDS_ROOT_DIR}/adm_local/cmake_files") - FIND_PACKAGE(SalomeFIELDS) + IF(EXISTS ${FIELDS_ROOT_DIR}) + set(SALOME_USE_MPI_BEFORE ${SALOME_USE_MPI}) + #SalomeFIELDS may break SALOME_USE_MPI var ! + FIND_PACKAGE(SalomeFIELDS) + set(SALOME_USE_MPI ${SALOME_USE_MPI_BEFORE}) + unset(SALOME_USE_MPI_BEFORE) SALOME_LOG_OPTIONAL_PACKAGE(SalomeFIELDS SALOME_PARAVIS_BUILD_CORBA_PLUGINS) - IF(SALOME_USE_MPI) - SET(SALOME_PARAVIS_BUILD_INSITU ON) - ENDIF(SALOME_USE_MPI) + #IF(SALOME_USE_MPI) + # SET(SALOME_PARAVIS_BUILD_INSITU ON) + #ENDIF(SALOME_USE_MPI) ENDIF() ELSE(SALOME_PARAVIS_BUILD_CORBA_PLUGINS) SET(MEDCOUPLING_ROOT_DIR $ENV{MEDCOUPLING_ROOT_DIR} CACHE PATH "Path to the MEDCoupling tool") - IF(EXISTS ${MEDCOUPLING_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${MEDCOUPLING_ROOT_DIR}/cmake_files") - ENDIF() FIND_PACKAGE(SalomeMEDCoupling) # will load MEDFile SALOME_LOG_OPTIONAL_PACKAGE(MEDCoupling SALOME_PARAVIS_BUILD_PLUGINS) ENDIF() @@ -169,7 +160,6 @@ ENDIF(SALOME_PARAVIS_BUILD_PLUGINS) IF(SALOME_PARAVIS_BUILD_PLUGINS AND SALOME_PARAVIS_USE_GEOM_SOURCE) SET(GEOM_ROOT_DIR $ENV{GEOM_ROOT_DIR} CACHE PATH "Path to the Salome GEOM") IF(EXISTS ${GEOM_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${GEOM_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeGEOM REQUIRED COMPONENTS GEOMClient SalomeIDLGEOM OCC2VTK) ELSE() MESSAGE(WARNING "Salome GEOM is absolutely needed to import GEOM objects to PARAVIS. @@ -192,7 +182,6 @@ IF(SALOME_PARAVIS_BUILD_PLUGINS AND SALOME_PARAVIS_USE_SMESH_SOURCE) IF(NOT SALOME_PARAVIS_USE_GEOM_SOURCE) SET(GEOM_ROOT_DIR $ENV{GEOM_ROOT_DIR} CACHE PATH "Path to the Salome GEOM") IF(EXISTS ${GEOM_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${GEOM_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeGEOM REQUIRED COMPONENTS SalomeIDLGEOM ) ELSE() MESSAGE(WARNING "Salome GEOM is absolutely needed to import MESH objects to PARAVIS. @@ -204,7 +193,6 @@ IF(SALOME_PARAVIS_BUILD_PLUGINS AND SALOME_PARAVIS_USE_SMESH_SOURCE) ENDIF() SET(SMESH_ROOT_DIR $ENV{SMESH_ROOT_DIR} CACHE PATH "Path to the Salome SMESH") IF(SALOME_PARAVIS_USE_GEOM_SOURCE AND EXISTS ${SMESH_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${SMESH_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeSMESH REQUIRED) ELSE() MESSAGE(WARNING "Salome MESH is absolutely needed to import MESH objects to PARAVIS. @@ -285,7 +273,6 @@ ADD_SUBDIRECTORY(idl) # Header configuration # ==================== -SALOME_XVERSION(${PROJECT_NAME}) SALOME_CONFIGURE_FILE(PARAVIS_version.h.in PARAVIS_version.h INSTALL ${SALOME_INSTALL_HEADERS}) # Configuration export