X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPlugins%2FMEDReader%2FCMakeLists.txt;h=188702546fc31dd29637750befb3b261ed927cf3;hb=8bc8832e63d882987a604233a660150728d5cca5;hp=299f1cd39a3ccfe921abc1c88a6f01511eac71c1;hpb=e4350e9cdbb25c86c1b7caa25182a8c99381ead9;p=modules%2Fparavis.git diff --git a/src/Plugins/MEDReader/CMakeLists.txt b/src/Plugins/MEDReader/CMakeLists.txt index 299f1cd3..18870254 100644 --- a/src/Plugins/MEDReader/CMakeLists.txt +++ b/src/Plugins/MEDReader/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2010-2014 CEA/DEN, EDF R&D +# Copyright (C) 2010-2020 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 # License as published by the Free Software Foundation; either -# version 2.1 of the License. +# version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,89 +17,39 @@ # 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} +find_package(ParaView REQUIRED) -# Typical cmake command -# env MED_ROOT_DIR=... cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=PATH_TO/MEDReader_INSTALL ../MEDReader_SRC -DMEDFILE_ROOT_DIR=/where/is/med-3.0.7_install +IF(SALOME_USE_MPI) + ADD_DEFINITIONS(-DMEDREADER_USE_MPI) +ENDIF(SALOME_USE_MPI) -PROJECT(MEDReader) -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +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(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "MED_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 "${MED_ROOT_DIR}/adm_local/cmake_files") -INCLUDE(SalomeMacros) -INCLUDE(SalomeSetupPlatform) -INCLUDE(SalomeMEDConfig) -FIND_PACKAGE(SalomePython REQUIRED) -FIND_PACKAGE(SalomeHDF5 REQUIRED) -FIND_PACKAGE(SalomeMEDFile REQUIRED) - -# -# 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} ${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 () -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})