Skip to content
Snippets Groups Projects

Refactor, test and reduce code in GeoModelWrite

Merged Shaun Roe requested to merge refactorForTest into main

Extract pure string utilities (or use pre-existing utilities) from GeoModelWrite (joinVectorStrings , getQStringFromOss, getAddressStringFromPointer) into StringUtils.h. Create or move tests. Refactor code using C++20 features.

Edited by Shaun Roe

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Shaun Roe added 1 commit

    added 1 commit

    • 5c893b1c - Move to using StringUtils functions

    Compare with previous version

  • Shaun Roe resolved all threads

    resolved all threads

  • Shaun Roe added 2 commits

    added 2 commits

    • befa8991 - update cmake
    • 26dfdd9d - update test of StringUtils to GTest; test new utilities there

    Compare with previous version

  • Shaun Roe added 1 commit

    added 1 commit

    • 8e924cc1 - reduce tests as the method is generic

    Compare with previous version

  • Shaun Roe added 1 commit

    added 1 commit

    • 4023a2e0 - remove the now-redundant test

    Compare with previous version

  • Author Developer

    One pipeline failed here, claiming that C++17 is used: image

    will see after the final pipeline completes...

  • Author Developer

    There seem to be a few places where C++17 is still referenced:

    grep -R "CMAKE_CXX_STANDARD 17" *
    FullSimLight/Plugins/TracksPlugin/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    FullSimLight/Plugins/Examples/SensitiveDetectorPlugins/SDPlugin/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    FullSimLight/Plugins/Examples/EventGeneratorPlugins/FSLExamplePrimaryGeneratorPlugin/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    FullSimLight/Plugins/Examples/PhysicsListPlugins/FSLTestPhysListPlugins/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    FullSimLight/Plugins/Examples/MagneticFieldPlugins/UniformMagneticFieldPlugin/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    FullSimLight/Plugins/HitsPlugin/cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    cmake/configure_cpp_options.cmake:set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard used for the build" )
    documentation/docs/fullsimlight/plugins/index.md:set(CMAKE_CXX_STANDARD 17)

    In addition (or perhaps, this is the reason), GeoModelAtlas seems to built with C++17.

    Note that this all builds fine locally on my Mac.

    Edited by Shaun Roe
  • Shaun Roe added 1 commit

    added 1 commit

    Compare with previous version

  • Shaun Roe added 1 commit

    added 1 commit

    Compare with previous version

  • Shaun Roe added 1 commit

    added 1 commit

    • c1a9ebfe - Sets standard here (built as top level project?)

    Compare with previous version

  • Author Developer

    Standard needed to be set in GeoModelTools also.

  • Shaun Roe changed the description

    changed the description

  • Shaun Roe marked this merge request as ready

    marked this merge request as ready

  • Shaun Roe changed the description

    changed the description

  • Riccardo Maria Bianchi resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading