diff --git a/projects/apple/lidarview.bundle.cmake b/projects/apple/lidarview.bundle.cmake index 359cabba514fecb904e53be563985a0279d760d9..51cf834855ba68658afbfab9ec6d0ba26b219bba 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 2021675aed45e065ca7f9259606c39c5f1144b86..6c214300648ab6be74cebaa825da4f1d42a28c47 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}) @@ -80,13 +84,10 @@ 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}) +install_plugin_xml_files(${plugins_file}) # Install Configuration file if (EXISTS "${superbuild_install_location}/Applications/${SOFTWARE_NAME}.app/Contents/Resources/${SOFTWARE_NAME}.conf") diff --git a/projects/lidarview.cmake b/projects/lidarview.cmake index a2283596d9ff45a2e09b49c73ce218a706829eec..1973c311fab5b4461bbd461e542a6396e76b871b 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/lidarviewapp.bundle.common.cmake b/projects/lidarviewapp.bundle.common.cmake index 16770dc7da3a116d6c1a7803edd9a008d88ba80d..528b347d4471bedb3a4e53670fb6ee13c8976292 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/lidarview.bundle.cmake b/projects/unix/lidarview.bundle.cmake index 359cabba514fecb904e53be563985a0279d760d9..51cf834855ba68658afbfab9ec6d0ba26b219bba 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 22067afc1849152f3b4383dc46f18a1a290b0134..c93228ad9cbb8e2611b96ccaca144a37a53cc44a 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 @@ -121,13 +125,10 @@ 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}) +install_plugin_xml_files("${plugins_file}" ${paraview_plugin_path}) lidarview_install_extra_data() diff --git a/projects/win32/lidarview.bundle.cmake b/projects/win32/lidarview.bundle.cmake index 475d0b491e323388785227415fc4e4657d882061..7c49b59c8aaccfb3d0f0eface27ce5dc2e85a4fe 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 367bff2ed5c0ff22bb61c80b01d362e52c2183a6..927ea1cca9fb0f03cb98ad3126f1004dc384cab4 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}") @@ -102,13 +106,10 @@ 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}) +install_plugin_xml_files("${plugins_file}" ${paraview_plugin_path}) # Install Configuration file if (EXISTS "${superbuild_install_location}/bin/${SOFTWARE_NAME}.conf")