Salome HOME
Copyright update 2022
[modules/paravis.git] / src / Plugins / MEDWriter / CMakeLists.txt
index 653e5cac29300c9bf468ebf0a457fc55d527af9a..8d75e0d2ea7f4e41741afa284d5cc12b53fdd172 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016  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
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-# Author : Anthony Geay (EDF R&D)
 
-PROJECT(MEDWriter)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
-IF(COMMAND cmake_policy)
-  CMAKE_POLICY(SET CMP0003 NEW)
-  #CMAKE_POLICY(SET CMP0022 OLD)
-  #CMAKE_POLICY(SET CMP0023 OLD)
-ENDIF(COMMAND cmake_policy)
-
-SET(MED_WRITER_VERSION "0.0.0")
-
-FIND_PACKAGE(ParaView REQUIRED)
-IF(NOT ParaView_FOUND)
-  MESSAGE(FATAL_ERROR "Please locate ParaView." )
-ENDIF(NOT ParaView_FOUND)
-INCLUDE(${PARAVIEW_USE_FILE})
-PV_SETUP_MODULE_ENVIRONMENT("vtkMEDWriter")
-
-OPTION(BUILD_SHARED_LIBS "Build with shared libraries." ${VTK_BUILD_SHARED_LIBS})
-
-SET(VTK_INSTALL_RUNTIME_DIR lib/salome)
-SET(VTK_INSTALL_LIBRARY_DIR lib/salome)
-SET(VTK_INSTALL_ARCHIVE_DIR lib/salome)
-SET(MEDWRITER_INSTALL_CMAKE_LOCAL adm_local/cmake_files CACHE PATH "Install path: local SALOME CMake files")
-SET(MEDWRITER_INSTALL_HEADERS include/salome CACHE PATH "Install path: local include files")
-
-
-SET(MEDCOUPLING_ROOT_DIR $ENV{MEDCOUPLING_ROOT_DIR} CACHE PATH "MEDCOUPLING_ROOT_DIR")
-LIST(APPEND CMAKE_MODULE_PATH "${MEDCOUPLING_ROOT_DIR}/cmake_files")
-INCLUDE(SalomeMacros)
-FIND_PACKAGE(SalomeHDF5 REQUIRED)
-FIND_PACKAGE(SalomeMEDCoupling REQUIRED)
-FIND_PACKAGE(SalomeMEDFile REQUIRED)
-
-PV_PROCESS_MODULES()
-
-INCLUDE_DIRECTORIES(
-  ${MEDCOUPLING_INCLUDE_DIRS}
-  ${MEDFILE_INCLUDE_DIRS}
-  ${HDF5_INCLUDE_DIRS})
-
-ADD_SUBDIRECTORY(IO)
-ADD_SUBDIRECTORY(ParaViewPlugin)
-
-INCLUDE(CMakePackageConfigHelpers)
-
-SALOME_CONFIGURE_PREPARE(MEDCOUPLING MEDFILE HDF5)
-CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in 
-  ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
-  INSTALL_DESTINATION "${MEDWRITER_INSTALL_CMAKE_LOCAL}"
-  PATH_VARS CMAKE_INSTALL_PREFIX MEDWRITER_INSTALL_HEADERS)
-
-INSTALL(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION "${MEDWRITER_INSTALL_CMAKE_LOCAL}")
-INSTALL(EXPORT ${PROJECT_NAME}TargetGroup DESTINATION "${MEDWRITER_INSTALL_CMAKE_LOCAL}" FILE ${PROJECT_NAME}Targets.cmake)
+cmake_minimum_required(VERSION 3.8)
+project(MEDWriterPlugin)
+find_package(ParaView REQUIRED)
+
+include(GNUInstallDirs)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
+
+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)
+
+foreach(module IN LISTS required_modules)
+  if(NOT TARGET "${module}")
+    message("Missing required module: ${module}")
+    return()
+  endif()
+endforeach()
+
+set(BUILD_SHARED_LIBS ON)
+paraview_plugin_build(
+  RUNTIME_DESTINATION "${CMAKE_INSTALL_BINDIR}"
+  LIBRARY_DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+  LIBRARY_SUBDIRECTORY "${PARAVIEW_PLUGIN_SUBDIR}"
+  PLUGINS ${plugins}
+  AUTOLOAD ${plugins})