From a2301e90e4ae8ff83d6af2294a5080351ea22bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= Date: Thu, 27 Mar 2025 17:33:48 +0100 Subject: [PATCH 1/2] [feat] Merge paraview plugin xml files to avoid searching for it in lidarview --- projects/apple/lidarviewapp.bundle.cmake | 15 ++++++++++++--- projects/lidarviewapp.bundle.common.cmake | 12 ++++++++++++ projects/unix/lidarviewapp.bundle.cmake | 17 +++++++++++++---- projects/win32/lidarviewapp.bundle.cmake | 17 +++++++++++++---- 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/projects/apple/lidarviewapp.bundle.cmake b/projects/apple/lidarviewapp.bundle.cmake index 2021675..e5f2873 100644 --- a/projects/apple/lidarviewapp.bundle.cmake +++ b/projects/apple/lidarviewapp.bundle.cmake @@ -65,14 +65,18 @@ superbuild_apple_create_app( INCLUDE_REGEXES ${include_regexes} IGNORE_REGEXES ${ignore_regexes}) -function (lidarview_install_xml _plugin_path) - file(GLOB _xml_files "${_plugin_path}/*.xml") +function (install_plugin_xml_files xml_files) install( - FILES ${_xml_files} + FILES ${xml_files} DESTINATION "${lidarview_appname}/Contents/Plugins" COMPONENT superbuild) endfunction () +function (lidarview_install_xml _plugin_path) + file(GLOB _xml_files "${_plugin_path}/*.xml") + install_plugin_xml_files("${_xml_files}") +endfunction () + lidarview_install_xml(${lidarview_plugin_path}) lidarview_install_xml(${paraview_plugin_path}) @@ -88,6 +92,11 @@ if (pclplugin_enabled) lidarview_install_xml(${pclplugin_plugin_path}) endif () +# Install paraview plugins xml file +set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") +merge_paraview_plugin_files(${paraview_plugin_path} ${plugins_file}) +install_plugin_xml_files(${plugins_file}) + # Install Configuration file if (EXISTS "${superbuild_install_location}/Applications/${SOFTWARE_NAME}.app/Contents/Resources/${SOFTWARE_NAME}.conf") file(READ "${superbuild_install_location}/Applications/${SOFTWARE_NAME}.app/Contents/Resources/${SOFTWARE_NAME}.conf" conf_contents) diff --git a/projects/lidarviewapp.bundle.common.cmake b/projects/lidarviewapp.bundle.common.cmake index 16770dc..528b347 100644 --- a/projects/lidarviewapp.bundle.common.cmake +++ b/projects/lidarviewapp.bundle.common.cmake @@ -28,6 +28,18 @@ endmacro () check_for_python_module(numpy numpy) +function (merge_paraview_plugin_files plugin_path output) + file(GLOB xml_files "${plugin_path}/*.xml") + set(headers "\n\n") + set(contents "${headers}\n") + foreach (input_file ${xml_files}) + file(READ ${input_file} input_content) + string(REPLACE "${headers}" "" input_content "${input_content}") + string(REPLACE "\n" "${input_content}" contents "${contents}") + endforeach() + file(WRITE "${output}" "${contents}") +endfunction () + # Get LV & PV Plugins function (lidarview_detect_plugins plugins_dir output) set(plugins_list) diff --git a/projects/unix/lidarviewapp.bundle.cmake b/projects/unix/lidarviewapp.bundle.cmake index 22067af..56a4532 100644 --- a/projects/unix/lidarviewapp.bundle.cmake +++ b/projects/unix/lidarviewapp.bundle.cmake @@ -91,6 +91,13 @@ if (qt5_enabled AND qt5_plugin_paths) COMPONENT superbuild) endif () +function (install_plugin_xml_files xml_files plugin_path) + install( + FILES ${xml_files} + DESTINATION "${plugin_path}" + COMPONENT superbuild) +endfunction () + function (lidarview_install_plugins _plugin_path _installed_plugins) # Install plugins .so foreach (_installed_plugin IN LISTS _installed_plugins) @@ -105,10 +112,7 @@ function (lidarview_install_plugins _plugin_path _installed_plugins) # Install xmls file(GLOB _xml_files "${superbuild_install_location}/${_plugin_path}/*.xml") - install( - FILES ${_xml_files} - DESTINATION "${_plugin_path}" - COMPONENT superbuild) + install_plugin_xml_files("${_xml_files}" ${_plugin_path}) endfunction () # Install Lidarview Plugins @@ -129,6 +133,11 @@ if (pclplugin_enabled) lidarview_install_plugins(${pclplugin_plugin_path} "PCLPlugin") endif () +# Merge & re-install paraview plugins xml file +set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") +merge_paraview_plugin_files("${superbuild_install_location}/${paraview_plugin_path}" ${plugins_file}) +install_plugin_xml_files("${plugins_file}" ${paraview_plugin_path}) + lidarview_install_extra_data() if (proj_enabled) diff --git a/projects/win32/lidarviewapp.bundle.cmake b/projects/win32/lidarviewapp.bundle.cmake index 367bff2..1c67768 100644 --- a/projects/win32/lidarviewapp.bundle.cmake +++ b/projects/win32/lidarviewapp.bundle.cmake @@ -75,6 +75,13 @@ endforeach() # Install additional modules #if ever needed use # foreach _superbuild_windows_install_binary( ... ) with ${lidarview_modules} with DESTINATION "bin" +function (install_plugin_xml_files xml_files plugin_path) + install( + FILES ${xml_files} + DESTINATION "${plugin_path}" + COMPONENT superbuild) +endfunction () + function (lidarview_install_plugins _plugin_path _installed_plugins) # Install plugins .dll foreach (_installed_plugin IN LISTS _installed_plugins) @@ -89,10 +96,7 @@ function (lidarview_install_plugins _plugin_path _installed_plugins) # Install xmls file(GLOB _xml_files "${superbuild_install_location}/${_plugin_path}/*.xml") - install( - FILES ${_xml_files} - DESTINATION "${_plugin_path}" - COMPONENT superbuild) + install_plugin_xml_files("${_xml_files}" ${_plugin_path}) endfunction () lidarview_install_plugins(${lidarview_plugin_path} "${lidarview_plugins}") @@ -110,6 +114,11 @@ if (pclplugin_enabled) lidarview_install_plugins(${pclplugin_plugin_path} "PCLPlugin") endif () +# Merge & re-install paraview plugins xml file +set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") +merge_paraview_plugin_files("${superbuild_install_location}/${paraview_plugin_path}" ${plugins_file}) +install_plugin_xml_files("${plugins_file}" ${paraview_plugin_path}) + # Install Configuration file if (EXISTS "${superbuild_install_location}/bin/${SOFTWARE_NAME}.conf") install( -- GitLab From 6bd1eb53385c26c1096ad3217fe7ee77ef853634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= Date: Thu, 27 Mar 2025 17:34:29 +0100 Subject: [PATCH 2/2] [refact] Ros2IO & pclplugin will now be install automatically with other paraview plugins --- projects/apple/lidarview.bundle.cmake | 2 -- projects/apple/lidarviewapp.bundle.cmake | 8 -------- projects/lidarview.cmake | 2 -- projects/unix/lidarview.bundle.cmake | 2 -- projects/unix/lidarviewapp.bundle.cmake | 8 -------- projects/win32/lidarview.bundle.cmake | 2 -- projects/win32/lidarviewapp.bundle.cmake | 8 -------- 7 files changed, 32 deletions(-) diff --git a/projects/apple/lidarview.bundle.cmake b/projects/apple/lidarview.bundle.cmake index 359cabb..51cf834 100644 --- a/projects/apple/lidarview.bundle.cmake +++ b/projects/apple/lidarview.bundle.cmake @@ -3,8 +3,6 @@ include(paraview-version) set(paraview_plugin_path "lib/paraview-${paraview_version}/plugins") set(lidarview_plugin_path "lib/lidarview/plugins") set(slam_plugin_path "lib/slam/plugins") -set(ros2io_plugin_path "lib/ros2io/plugins") -set(pclplugin_plugin_path "lib/pclplugin/plugins") # Trigger lidarview common bundling include(lidarview.bundle.common) diff --git a/projects/apple/lidarviewapp.bundle.cmake b/projects/apple/lidarviewapp.bundle.cmake index e5f2873..6c21430 100644 --- a/projects/apple/lidarviewapp.bundle.cmake +++ b/projects/apple/lidarviewapp.bundle.cmake @@ -84,14 +84,6 @@ if (slam_enabled) lidarview_install_xml(${slam_plugin_path}) endif () -if (ros2io_enabled) - lidarview_install_xml(${ros2io_plugin_path}) -endif () - -if (pclplugin_enabled) - lidarview_install_xml(${pclplugin_plugin_path}) -endif () - # Install paraview plugins xml file set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") merge_paraview_plugin_files(${paraview_plugin_path} ${plugins_file}) diff --git a/projects/lidarview.cmake b/projects/lidarview.cmake index a228359..1973c31 100644 --- a/projects/lidarview.cmake +++ b/projects/lidarview.cmake @@ -62,8 +62,6 @@ superbuild_add_project(lidarview # External plugins options -DLIDARVIEW_USE_LIDARSLAM_PLUGIN=${slam_enabled} - -DLIDARVIEW_USE_ROS2IO_PLUGIN=${ros2io_enabled} - -DLIDARVIEW_USE_PCLPLUGIN_PLUGIN=${pclplugin_enabled} ${lidarview_extra_cmake_options} diff --git a/projects/unix/lidarview.bundle.cmake b/projects/unix/lidarview.bundle.cmake index 359cabb..51cf834 100644 --- a/projects/unix/lidarview.bundle.cmake +++ b/projects/unix/lidarview.bundle.cmake @@ -3,8 +3,6 @@ include(paraview-version) set(paraview_plugin_path "lib/paraview-${paraview_version}/plugins") set(lidarview_plugin_path "lib/lidarview/plugins") set(slam_plugin_path "lib/slam/plugins") -set(ros2io_plugin_path "lib/ros2io/plugins") -set(pclplugin_plugin_path "lib/pclplugin/plugins") # Trigger lidarview common bundling include(lidarview.bundle.common) diff --git a/projects/unix/lidarviewapp.bundle.cmake b/projects/unix/lidarviewapp.bundle.cmake index 56a4532..c93228a 100644 --- a/projects/unix/lidarviewapp.bundle.cmake +++ b/projects/unix/lidarviewapp.bundle.cmake @@ -125,14 +125,6 @@ if (slam_enabled) lidarview_install_plugins(${slam_plugin_path} "LidarSlamPlugin") endif () -if (ros2io_enabled) - lidarview_install_plugins(${ros2io_plugin_path} "Ros2IO") -endif () - -if (pclplugin_enabled) - lidarview_install_plugins(${pclplugin_plugin_path} "PCLPlugin") -endif () - # Merge & re-install paraview plugins xml file set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") merge_paraview_plugin_files("${superbuild_install_location}/${paraview_plugin_path}" ${plugins_file}) diff --git a/projects/win32/lidarview.bundle.cmake b/projects/win32/lidarview.bundle.cmake index 475d0b4..7c49b59 100644 --- a/projects/win32/lidarview.bundle.cmake +++ b/projects/win32/lidarview.bundle.cmake @@ -3,8 +3,6 @@ include(paraview-version) set(paraview_plugin_path "bin/paraview-${paraview_version}/plugins") set(lidarview_plugin_path "bin/lidarview/plugins") set(slam_plugin_path "bin/slam/plugins") -set(ros2io_plugin_path "bin/ros2io/plugins") -set(pclplugin_plugin_path "bin/pclplugin/plugins") # Trigger lidarview common bundling include(lidarview.bundle.common) diff --git a/projects/win32/lidarviewapp.bundle.cmake b/projects/win32/lidarviewapp.bundle.cmake index 1c67768..927ea1c 100644 --- a/projects/win32/lidarviewapp.bundle.cmake +++ b/projects/win32/lidarviewapp.bundle.cmake @@ -106,14 +106,6 @@ if (slam_enabled) lidarview_install_plugins(${slam_plugin_path} "LidarSlamPlugin") endif () -if (ros2io_enabled) - lidarview_install_plugins(${ros2io_plugin_path} "Ros2IO") -endif () - -if (pclplugin_enabled) - lidarview_install_plugins(${pclplugin_plugin_path} "PCLPlugin") -endif () - # Merge & re-install paraview plugins xml file set(plugins_file "${CMAKE_CURRENT_BINARY_DIR}/paraview.plugins.xml") merge_paraview_plugin_files("${superbuild_install_location}/${paraview_plugin_path}" ${plugins_file}) -- GitLab