-# Copyright (C) 2017 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(DevelopedSurface)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
-CMAKE_POLICY(SET CMP0003 NEW)
-IF(${CMAKE_VERSION} VERSION_GREATER "3.0.0")
- CMAKE_POLICY(SET CMP0022 OLD)
- CMAKE_POLICY(SET CMP0023 OLD)
-ENDIF()
-
-
-ENABLE_TESTING()
-
-# 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)
-ELSE()
- MESSAGE(FATAL_ERROR "We absolutely need the Salome CMake configuration files, please define CONFIGURATION_ROOT_DIR !")
-ENDIF()
-FIND_PACKAGE(SalomePythonInterp REQUIRED)
-FIND_PACKAGE(SalomePythonLibs REQUIRED)
-FIND_PACKAGE(SalomeMEDFile REQUIRED)
-
-FIND_PACKAGE(ParaView REQUIRED)
-IF(NOT ParaView_FOUND)
- MESSAGE(FATAL_ERROR "Please locate ParaView." )
-ENDIF(NOT ParaView_FOUND)
-INCLUDE(${PARAVIEW_USE_FILE})
-
-SET(MEDCOUPLING_ROOT_DIR $ENV{MEDCOUPLING_ROOT_DIR} CACHE PATH "MEDCOUPLING_ROOT_DIR")
-LIST(APPEND CMAKE_MODULE_PATH "${MEDCOUPLING_ROOT_DIR}/cmake_files")
-
-##
-FIND_PACKAGE(SalomeMEDCoupling REQUIRED)
-
-OPTION(BUILD_SHARED_LIBS "Build with shared libraries." ${VTK_BUILD_SHARED_LIBS})
-
-SET(VTK_INSTALL_RUNTIME_DIR lib)
-SET(VTK_INSTALL_LIBRARY_DIR lib)
-SET(VTK_INSTALL_ARCHIVE_DIR lib)
-
-PV_PROCESS_MODULES()
-INCLUDE_DIRECTORIES( ${MEDCOUPLING_INCLUDE_DIRS} ${MEDFILE_INCLUDE_DIRS})
-INCLUDE_DIRECTORIES( "${PROJECT_SOURCE_DIR}/../MEDWriter/IO" )
-#INCLUDE_DIRECTORIES( "${PARAVIS_ROOT_DIR}/include/salome" )
-ADD_SUBDIRECTORY(ParaViewPlugin)
-
-
-ADD_SUBDIRECTORY(Test)
+cmake_minimum_required(VERSION 3.8)
+project(DevelopedSurfacePlugin)
+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})