X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=aae1ee95df23619ee1618c11b6acaccc77914818;hb=refs%2Fheads%2Fagy%2F800rc2;hp=61c7bd65cc4b4f0806b0d24543bb3c4b58d61810;hpb=3c211c76dff7eb71177f78142ff11159ba3017d9;p=modules%2Fparavis.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 61c7bd65..aae1ee95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,12 +33,12 @@ CMAKE_POLICY(SET CMP0003 NEW) # Project name, upper case STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) -SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 6) +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8) +SET(${PROJECT_NAME_UC}_MINOR_VERSION 0) 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) +SET(${PROJECT_NAME_UC}_VERSION_DEV 0) # Find KERNEL # =========== @@ -61,30 +61,18 @@ SET(BUILD_SHARED_LIBS TRUE) # Local macros: LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") -# Detect GUI root dir (but doesn't find GUI yet! See below) -# =================== -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") -ELSE() - MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR") -ENDIF() - # User options # ============ OPTION(SALOME_BUILD_DOC "Generate SALOME GUI documentation" ON) OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON) OPTION(SALOME_PARAVIS_ALL_TEST "Add all tests for Salome PARAVIS module" OFF) OPTION(SALOME_PARAVIS_BUILD_PLUGINS "Build PARAVIS plugins (MEDReader, etc ...)" ON) -OPTION(SALOME_PARAVIS_USE_GEOM_SOURCE "Import a GEOMETRY object to PARAVIS via its Corba IOR" ON ) -OPTION(SALOME_PARAVIS_USE_SMESH_SOURCE "Import a MESH object to PARAVIS via its Corba IOR" ON) +OPTION(SALOME_PARAVIS_BUILD_CORBA_PLUGINS "Build PARAVIS CORBA plugins (ParaMEDCorba -- this requires the SALOME MED 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) CMAKE_DEPENDENT_OPTION(SALOME_LIGHT_ONLY "Build SALOME Light only (no CORBA)" OFF "NOT SALOME_KERNEL_LIGHT_ONLY" ON) -IF(SALOME_BUILD_TESTS) - ENABLE_TESTING() -ENDIF() - # Prerequisites # ============= # Find "big" prerequisites first - they reference themselves many others @@ -96,12 +84,9 @@ ENDIF() ## FIND_PACKAGE(SalomePython REQUIRED) -FIND_PACKAGE(SalomeHDF5 REQUIRED) -FIND_PACKAGE(SalomeSWIG REQUIRED) IF(NOT SALOME_LIGHT_ONLY) FIND_PACKAGE(SalomeOmniORB REQUIRED) - FIND_PACKAGE(SalomeOmniORBPy REQUIRED) ENDIF() IF(SALOME_BUILD_DOC) @@ -113,56 +98,61 @@ IF(SALOME_BUILD_DOC) SALOME_LOG_OPTIONAL_PACKAGE(Sphinx SALOME_BUILD_DOC) ENDIF() +# Find GUI +# =================== +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) + FIND_PACKAGE(SalomeGUI REQUIRED) + SALOME_GUI_WITH_CORBA() # check whether GUI builded with CORBA + SALOME_GUI_MODE(SALOME_USE_SALOMEOBJECT SALOME_USE_PVVIEWER) + ADD_DEFINITIONS(${GUI_DEFINITIONS}) + INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS}) +ELSE() + MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR") +ENDIF() + ## -## From GUI: part 1 (Qt must be checked before ParaView) +## From GUI ## -FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtHelp) -# This search for qhelpgenerator is required here -# to avoid detecting native one due to bug in ParaViewMacros.cmake -FIND_PROGRAM(QT_HELP_GENERATOR - qhelpgenerator - PATHS "${QT_BINARY_DIR}" - NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH - DOC "qhelpgenerator used to compile Qt help project files") -MARK_AS_ADVANCED(QT_HELP_GENERATOR) + +IF (NOT SALOME_GUI_BUILD_WITH_QT5) + FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtHelp) +ELSE() + FIND_PACKAGE(SalomeQt5 REQUIRED) +ENDIF() ## ## Specific to ParaViS: ## -FIND_PACKAGE(SalomeParaView REQUIRED) -# GUI itself has to be loaded AFTER ParaView: the ParaView config doesn't mix -# well with the VTK one (and GUI loads VTK): -FIND_PACKAGE(SalomeGUI REQUIRED) -SALOME_GUI_WITH_CORBA() # check whether GUI builded with CORBA -SALOME_GUI_MODE(SALOME_USE_SALOMEOBJECT SALOME_USE_PVVIEWER) -ADD_DEFINITIONS(${GUI_DEFINITIONS}) -INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS}) +FIND_PACKAGE(SalomeParaView REQUIRED) ## -## From GUI: part 2 +## From MEDCoupling / MEDFile / or MEDModule (if CORBA plugin required): ## -FIND_PACKAGE(SalomeCAS REQUIRED) # [ABN] I wish I could avoid that ... -## -## From MED -## IF(SALOME_PARAVIS_BUILD_PLUGINS) - SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "Path to the Salome MED module") - IF(EXISTS ${MED_ROOT_DIR}) - LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local/cmake_files") - FIND_PACKAGE(SalomeMED REQUIRED) - ELSE() - MESSAGE(FATAL_ERROR "We absolutely need the Salome MED module to build plugins, please define MED_ROOT_DIR") - ENDIF() - IF(SALOME_MED_STANDALONE OR SALOME_MED_MICROMED) - MESSAGE(FATAL_ERROR "We absolutely need a Salome MED with KERNEL and with MED file dependancy, - please set SALOME_MED_STANDALONE=OFF and SALOME_MED_MICROMED=OFF in MED module - or SALOME_PARAVIS_BUILD_PLUGINS=OFF in PARAVIS module") - ENDIF() - FIND_PACKAGE(SalomeMEDFile) - SALOME_LOG_OPTIONAL_PACKAGE(MEDFile SALOME_PARAVIS_BUILD_PLUGINS) -ENDIF() + # If CORBA plugins required, take in MED module + IF(SALOME_PARAVIS_BUILD_CORBA_PLUGINS) + SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "Path to the SALOME MED module") + IF(EXISTS ${MED_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeMED) + SALOME_LOG_OPTIONAL_PACKAGE(SalomeMED SALOME_PARAVIS_BUILD_CORBA_PLUGINS) + 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() +ENDIF(SALOME_PARAVIS_BUILD_PLUGINS) ## ## From GEOM @@ -189,6 +179,7 @@ ENDIF() ## ## From SMESH ## + 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") @@ -220,6 +211,12 @@ ELSEIF(NOT SALOME_PARAVIS_BUILD_PLUGINS AND SALOME_PARAVIS_USE_SMESH_SOURCE) SET(SALOME_PARAVIS_USE_SMESH_SOURCE OFF) ENDIF() +IF(SALOME_BUILD_TESTS) + ENABLE_TESTING() + FIND_PACKAGE(SalomeCppUnit) + SALOME_LOG_OPTIONAL_PACKAGE(CppUnit SALOME_BUILD_TESTS) +ENDIF() + ## Detection summary: SALOME_PACKAGE_REPORT_AND_CHECK() @@ -265,10 +262,6 @@ SALOME_ACCUMULATE_ENVIRONMENT(PV_PLUGIN_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/lib # Sources # ======== -IF(NOT SALOME_LIGHT_ONLY) - ADD_SUBDIRECTORY(idl) # Order matters when using the wrapping - to be added AFTER src -ENDIF() - ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(adm_local) ADD_SUBDIRECTORY(resources) @@ -295,7 +288,7 @@ INCLUDE(CMakePackageConfigHelpers) # List of targets in this project we want to make visible to the rest of the world. # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" IF(NOT SALOME_LIGHT_ONLY) - SET(_${PROJECT_NAME}_exposed_targets SalomeIDLPVServer PARAVIS) + SET(_${PROJECT_NAME}_exposed_targets PARAVIS) # Add all targets to the build-tree export set EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets} @@ -310,6 +303,7 @@ SET(KERNEL_ROOT_DIR "${KERNEL_ROOT_DIR}") SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}") SET(MED_ROOT_DIR "${MED_ROOT_DIR}") SET(MEDFILE_ROOT_DIR "${MEDFILE_ROOT_DIR}") +SET(MEDCOUPLING_ROOT_DIR "${MEDCOUPLING_ROOT_DIR}") SET(GEOM_ROOT_DIR "${GEOM_ROOT_DIR}") SET(SMESH_ROOT_DIR "${SMESH_ROOT_DIR}") @@ -322,7 +316,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX - KERNEL_ROOT_DIR GUI_ROOT_DIR MED_ROOT_DIR MEDFILE_ROOT_DIR GEOM_ROOT_DIR SMESH_ROOT_DIR) + KERNEL_ROOT_DIR GUI_ROOT_DIR MED_ROOT_DIR MEDFILE_ROOT_DIR MEDCOUPLING_ROOT_DIR GEOM_ROOT_DIR SMESH_ROOT_DIR) # - in the install tree (VSR 16/08/2013: TEMPORARILY COMMENT THIS - TO REMOVE?): # Get the relative path of the include directory so