Skip to content

feat(build): Add system_tomlplusplus option#3222

Open
carlwgeorge wants to merge 1 commit into
noctalia-dev:mainfrom
carlwgeorge:system_tomlplusplus
Open

feat(build): Add system_tomlplusplus option#3222
carlwgeorge wants to merge 1 commit into
noctalia-dev:mainfrom
carlwgeorge:system_tomlplusplus

Conversation

@carlwgeorge

Copy link
Copy Markdown

Summary

Add system_tomlplusplus option to allow building against the system tomlplusplus library instead of the vendored one. The option is disabled by default to retain the current vendored behavior.

Motivation

Many distributions have guidelines/policies recommending the usage of system copies of shared libraries whenever possible.

Introducing an optional flag to build against the system shared library allows distros to use it if desired, while preserving the vendored approach otherwise.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging

Testing

I'm using a local RPM package built with this change, linked against libtomlplusplus.so.3 (tomlplusplus-3.4.0-7.fc44) in Fedora. meson test passed during the build, and as far as I can tell everything works the same as it does without the patch.

Manual Coverage

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Tested with different bar positions and density settings
  • Tested at different interface scaling values
  • Tested with multiple monitors

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I ran just format with clang-format v22+ installed, or this PR has no code changes.
  • I ran the relevant build or test commands, or explained why they were not run.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I will update end-user documentation after merge, or this PR does not change user-facing configuration or behavior.
  • I added or updated assets/translations/en.json, or this PR adds no new user-facing strings.
  • I did not edit non-English translation files unless this PR is explicitly for translation tooling, an import/export sync, or a maintainer-requested locale change.
  • I used the existing canonical names for config keys, IPC names, paths, and identifiers.

This allows building against the system tomlplusplus library instead of
the vendored one.  The option is disabled by default to retain the
current vendored behavior.
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