X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FPlugins%2FMEDReader%2FCMakeLists.txt;h=7b70aa9e8f661aa630d3bf2dcf62e8c34107b7c3;hb=d95e21d803b01f429ce2ee7aea624e1f3ae2265b;hp=36f86d08eeef57a2afc9fb3a6aa64e2f06998c3c;hpb=88fa99f207bdea2f62e4ecef7421a8c6e00b3ccf;p=modules%2Fparavis.git diff --git a/src/Plugins/MEDReader/CMakeLists.txt b/src/Plugins/MEDReader/CMakeLists.txt index 36f86d08..7b70aa9e 100644 --- a/src/Plugins/MEDReader/CMakeLists.txt +++ b/src/Plugins/MEDReader/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2015 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 @@ -17,100 +17,40 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# Patch for ParaView -# cp ParaView-3.98.1/VTK/CMake/*.cmake ParaView-3.98.1_INSTALL/lib/cmake/paraview-3.98 +cmake_minimum_required(VERSION 3.8) +project(MEDReader) -# Env for MEDReader -#setenv PV_PLUGIN_PATH ".../MEDReader_INSTALL/lib/paraview" -#setenv LD_LIBRARY_PATH ...MEDReader_INSTALL/lib/salome:${LD_LIBRARY_PATH} +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +option(MEDREADER_USE_MPI "Activate parallel reading for MEDREADER" OFF) -# Typical cmake command -# cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=PATH_TO/MEDReader_INSTALL ../MEDReader_SRC \ -# -DMEDFILE_ROOT_DIR=/where/is/med-3.0.7_install -DMEDCOUPLING_ROOT_DIR=/where/is/medcoupling_install \ -# -DParaView_DIR=/lib/cmake/paraview-4.3 +find_package(ParaView REQUIRED) +if(MEDREADER_USE_MPI) + add_definitions(-DMEDREADER_USE_MPI) +endif(MEDREADER_USE_MPI) -IF(NOT KW_TESTING_PLATFORM) -PROJECT(MEDReader) -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -ENDIF(NOT KW_TESTING_PLATFORM) +enable_testing() -IF(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) -ENDIF(COMMAND cmake_policy) +include(GNUInstallDirs) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") -SET(MED_READER_MAJOR_VERSION 0) -SET(MED_READER_MINOR_VERSION 0) -SET(MED_READER_BUILD_VERSION 0) -SET(MED_READER_VERSION "${MED_READER_MAJOR_VERSION}.${MED_READER_MINOR_VERSION}.${MED_READER_BUILD_VERSION}") +set("_paraview_plugin_default_${CMAKE_PROJECT_NAME}" ON) +paraview_plugin_scan( + ENABLE_BY_DEFAULT YES + PLUGIN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/plugin/paraview.plugin" + PROVIDES_PLUGINS plugins + REQUIRES_MODULES required_modules) -# -# Load the ParaView/VTK packages -# -SET(MEDReader_BUILD_ParaView_Plugin ON CACHE BOOL "Build the ParaView plugin") - -IF(MEDReader_BUILD_ParaView_Plugin) - FIND_PACKAGE(ParaView REQUIRED) - IF(NOT ParaView_FOUND) - MESSAGE(FATAL_ERROR "Please locate ParaView." ) - ENDIF(NOT ParaView_FOUND) - INCLUDE(${PARAVIEW_USE_FILE}) - # Load information about VTK/ParaView modules loaded/available. - PV_SETUP_MODULE_ENVIRONMENT("vtkMEDReader") -ELSE(MEDReader_BUILD_ParaView_Plugin) - FIND_PACKAGE(VTK REQUIRED) - if(NOT VTK_FOUND) - MESSAGE(FATAL_ERROR "Please locate VTK." ) - ENDIF(NOT VTK_FOUND) - INCLUDE(${VTK_USE_FILE}) -ENDIF(MEDReader_BUILD_ParaView_Plugin) - -# Standard CMake option for building libraries shared or static by default. -OPTION(BUILD_SHARED_LIBS "Build with shared libraries." ${VTK_BUILD_SHARED_LIBS}) -# -# Find dependant Library -# -SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "KERNEL_ROOT_DIR") -SET(MEDCOUPLING_ROOT_DIR $ENV{MEDCOUPLING_ROOT_DIR} CACHE PATH "MEDCOUPLING_ROOT_DIR") -#LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local_without_kernel/cmake_files") -LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") -LIST(APPEND CMAKE_MODULE_PATH "${MEDCOUPLING_ROOT_DIR}/cmake_files") -INCLUDE(SalomeMacros) -INCLUDE(SalomeSetupPlatform) -FIND_PACKAGE(SalomePython REQUIRED) -FIND_PACKAGE(SalomeHDF5 REQUIRED) -FIND_PACKAGE(SalomeMEDCoupling REQUIRED) -FIND_PACKAGE(SalomeMEDFile REQUIRED) - -# Accumulate environment variables for PARAVIS module -SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS} - ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON}) -SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS}) -SALOME_ACCUMULATE_ENVIRONMENT(PV_PLUGIN_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/lib/paraview) - -# -# process all vtk-modules defined in this plugin. This generates the necessary -# wrappings for all these modules as well. -# -SET(VTK_INSTALL_RUNTIME_DIR lib/salome) -SET(VTK_INSTALL_LIBRARY_DIR lib/salome) -SET(VTK_INSTALL_ARCHIVE_DIR lib/salome) -INCLUDE_DIRECTORIES(${MEDFILE_INCLUDE_DIRS} ${MEDCOUPLING_INCLUDE_DIRS} ${HDF5_INCLUDE_DIRS}) -PV_PROCESS_MODULES() - -# -# Build the parallel vtkPMEDReader -# -SET(MEDReader_BUILD_PARALLEL ${VTK_USE_PARALLEL} CACHE BOOL "Build the Med Reader with parallel support.") - -# -# Build the ParaView Plugin -# -IF(MEDReader_BUILD_ParaView_Plugin) - ADD_SUBDIRECTORY(ParaViewPlugin) -ENDIF(MEDReader_BUILD_ParaView_Plugin) +foreach (module IN LISTS required_modules) + if (NOT TARGET "${module}") + message("Missing required module: ${module}") + return () + endif () +endforeach () -SET(SALOME_BUILD_TESTS ON CACHE BOOL "Build Salome Test") -IF(SALOME_BUILD_TESTS) - ENABLE_TESTING() - ADD_SUBDIRECTORY(Test) -ENDIF() +paraview_plugin_build( + RUNTIME_DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY_DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY_SUBDIRECTORY "${PARAVIEW_PLUGIN_SUBDIR}" + PLUGINS ${plugins})