Skip to content

Build & Bundling Refactors lv

Arnaud Billon requested to merge lv-postbuild into master

This MR covers 3 branches:

Overview

  • Alleviate the need for multiple inclusion / redefinition of variables in the SB/Lidarview Project/Bundling : this applies to LV_BUILD_ARCHITECTURE, Branding, Python modules path etc...
  • Branding File entirely scrapped in favor of 2 vars definition SOFTWARE_NAME/VENDOR (this wasnot a PV mechanism, only an ExampleApp suggestion)
  • Added Various Sanitize checks at the beginning of cmake script, checking for needed variables emptiness
  • Removed unecessary / conflicting variables
  • Doc

Full Changelog: lv

  • Unified Architecture Test
  • Unified Calib files bundling accross platforms
  • CHANGES RELATED TO CHANGES BELOW

lv-core

  • Reorganised LidarView's CMakeLists.txt
  • Reorganised Setup CMake scripts
  • Removed dependency to LidarView_SOURCE_DIR LidarView_BINARY_DIR
  • Various variables sanitize checks
  • Applying Boost rpath patch is now a STATUS and not a WARNING
  • Separated post-build script, prevents lidarview-based apps to do things after lidarview-sb postbuild commands
  • Output Build String and install it in install/share
  • Update [Doc] for protobuf-compiler needed on Ubuntu20
  • Moved 64Bit Detection where actually needed
  • Regrouped Compilation flags, MVSC definition, Warnings into single cmake
  • Added comment for MSVC inline situation
  • Print CMAKE_CXX_STANDARD

lv-sb

  • Based LV_BUILD_ARCHITECTURE from SB
  • Based Branding from SB
  • Moved CPACK_ vars setting to packaging
  • Fix boost problems by setting Boost_NO_BOOST_CMAKE when USE_SYSTEM_boost is OFF, on LV and liblas
  • Hide Protobuf Warning about system install found, when already expectign to use it
  • Remove redundant InstallRequiredSystemLibraries install, already done in cmake/superbuild_package_cmakelists.cmake.in
  • Added single branding sanitize check
  • Added comments to clarify Bundling scripts dynamics
  • Added comments about Ressources directory copy on OSX (calib files with VV plugins)

TODO LATER

  • Bundle CMakeCachelog
  • export_varaible LV_LIBRARY_DIR/LV_RESSOURCE_DIR/LV_INSTALL_PYTHON_MODULES_DIR and streamline bundling by mirroring architecture
  • pack calib files in a dedicated dir instead of throwing them in /share

TODO before Merging:

  • WAITING SB-rebuild on CI needed because of minimal LV_BUILD_ARCHITECTURE export change
  • Test InstallRequiredSystemLibraries on windows pkg
  • Re-Test All pkgs for good measure
  • Merge other branches
  • REMOVE CI COMMIT

TODO AFTER MERGING:

  • Remove lvrefactor prefix directories in CI buildbots to save space
Edited by Arnaud Billon

Merge request reports