Skip to content

chore: replace Corrade 2020.06 with cci.20250327 for macOS build#767

Closed
leoparente wants to merge 10 commits intodevelopfrom
chore/update-corrade
Closed

chore: replace Corrade 2020.06 with cci.20250327 for macOS build#767
leoparente wants to merge 10 commits intodevelopfrom
chore/update-corrade

Conversation

@leoparente
Copy link
Copy Markdown
Contributor

Summary

  • Upgrades corrade from 2020.06 to cci.20250327 and opentelemetry-cpp from 1.17.0 to 1.24.0 in conanfile.py
  • Patches all pktvisor plugin interfaces to conform to the new Corrade ABI (breaking changes in cci.20250327)
  • Adds CorradeCompat.h to bridge Corrade::Containers::StringView with fmt and std::string
  • Fixes macOS SDK sysroot issue when building with non-Xcode CMake generators

Breaking API changes addressed (Corrade cci.20250327 vs 2020.06)

Changed API Old New
AbstractPlugin::plugin() const std::string& Containers::StringView
PluginMetadata::provides() const std::vector<std::string>& Containers::StringIterable
AbstractManager::pluginList() std::vector<std::string> Containers::Array<StringView>
pluginSearchPaths() std::vector<std::string>{""} Array<String>{1}
pluginInterface() std::string StringView (must have Global flag)
CORRADE_AUTOMATIC_INITIALIZER in AbstractManager.h moved to Utility/Macros.h
Plugin constructor arg const std::string& const Containers::StringView&

Test plan

  • Run cmake configure from build/ with conan_provider to verify no sysroot errors
  • Run make -j4 to verify full build
  • Run unit tests from src/ directory: all 18 test cases pass

🤖 Generated with Claude Code

leoparente and others added 10 commits April 10, 2026 15:45
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ugin

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…able API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…20250327

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…build

- pluginSearchPaths() must return non-empty Array<String> (at least one
  entry) when dynamic plugin support is enabled; use Array<String>{1}
  to match the old std::vector<std::string>{""} behavior
- Add CORRADE_AUTOMATIC_INITIALIZER include in static_plugins.h headers
  (macro moved to Corrade/Utility/Macros.h in new version)
- Fix CoreRegistry.cpp: use try_emplace instead of insert for
  std::unique_ptr values; include PointerStl.h for Corrade Pointer
  to std::unique_ptr conversion
- Override CMAKE_OSX_SYSROOT after Conan toolchain re-include to fix
  '-isysroot macosx' invalid path issue on non-Xcode generators

All 18 unit tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@leoparente leoparente closed this Apr 10, 2026
@leoparente leoparente deleted the chore/update-corrade branch April 10, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant