Salome HOME
[EDF28884][bos38525][kw104] : Update MEDReader for python wrapping V9_12_0b1
authorCharles Gueunet <charles.gueunet@gmail.com>
Mon, 4 Sep 2023 13:21:02 +0000 (15:21 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Wed, 8 Nov 2023 06:32:08 +0000 (07:32 +0100)
src/Plugins/MEDReader/CMakeLists.txt

index b6e8c1189a1f3c934d7106b8fdb272dba7176bce..e4c2dde7fa77626c4acd3ac69460bc6453332b62 100644 (file)
@@ -54,3 +54,47 @@ paraview_plugin_build(
   LIBRARY_DESTINATION "${CMAKE_INSTALL_LIBDIR}"
   LIBRARY_SUBDIRECTORY "${PARAVIEW_PLUGIN_SUBDIR}"
   PLUGINS ${plugins})
+
+if(TARGET VTK::Python)
+
+  vtk_module_python_default_destination(python_destination)
+
+  vtk_module_wrap_python(
+    MODULES         MEDReaderIO
+    WRAPPED_MODULES medr_wrapped_modules
+    TARGET          MEDREADER::Python
+    INSTALL_EXPORT  MEDReaderVTKPython
+    PYTHON_PACKAGE  "MEDReaderVTK"
+    MODULE_DESTINATION  "${python_destination}"
+    CMAKE_DESTINATION   "${CMAKE_INSTALL_LIBDIR}/cmake/MEDReaderVTKPython"
+    LIBRARY_DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+    INSTALL_HEADERS ON
+    BUILD_STATIC    OFF)
+
+  # Generate __init__.py
+  set(python_modules)
+  foreach(module ${medr_wrapped_modules})
+    list(APPEND python_modules "'${module}'")
+  endforeach()
+
+  set(InitContent "__all__ = ['vtkMEDReader']")
+
+  file(GENERATE
+    OUTPUT  "${CMAKE_BINARY_DIR}/${python_destination}/MEDReaderVTK/__init__.py"
+    CONTENT "${InitContent}")
+  install(
+    FILES       "${CMAKE_BINARY_DIR}/${python_destination}/MEDReaderVTK/__init__.py"
+    DESTINATION "${python_destination}/MEDReaderVTK/")
+
+  # Install MEDReaderVTKPython
+  export(
+    EXPORT    MEDReaderVTKPython
+    NAMESPACE MEDREADER::
+    FILE "${CMAKE_BINARY_DIR}/${python_destination}/MEDReaderVTKPython/MEDReaderVTKPython-targets.cmake")
+  install(
+    EXPORT    MEDReaderVTKPython
+    NAMESPACE MEDREADER::
+    FILE      MEDReaderVTKPython-targets.cmake
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/MEDReaderVTKPython")
+
+endif()