Skip to content

Resolve #394: Replace Boost.Program_options with CLI11#396

Merged
lneely merged 4 commits into
mainfrom
issue-394
May 1, 2026
Merged

Resolve #394: Replace Boost.Program_options with CLI11#396
lneely merged 4 commits into
mainfrom
issue-394

Conversation

@lneely
Copy link
Copy Markdown
Owner

@lneely lneely commented May 1, 2026

This PR replaces the Boost.Program_options dependency with CLI11, which is header-only. This resolves issue #394 regarding the missing libboost 1.90 library by eliminating the runtime dependency on Boost for CLI option parsing. It also adds a CMakeLists.txt as a modern build configuration alternative.

Highlights:

  • Migration from boost::program_options to CLI11 in main.cpp
  • Removal of boost dependency from Makefile and Nix configs
  • Addition of CMakeLists.txt

Levi Neely added 4 commits May 1, 2026 11:14
…394)

- Replace boost::program_options with header-only CLI11 in main.cpp
- Remove boost dependency from Makefile, default.nix, and flake.nix
- Update documentation in doc/BUILD.md
- Add CMakeLists.txt as an alternative build system

This fixes the issue where the binary would fail to find specific libboost_program_options.so versions (e.g., 1.90.0) on systems with newer/older Boost versions. Since CLI11 is header-only, there is no longer a runtime dependency on Boost for pcloudcc.
…references

- Remove Boost from dev scripts and container build configs
- Add -std=c++11 to Makefile CXXFLAGS
- Explicitly add -I. to Makefile CFLAGS for CLI11.hpp include
- Fix passascrypto logic and type (now a flag) in main.cpp
- Fix typo in daemon process name
- Add secret wiping (putil_wipe) for tfa_code and singleton passwords
- Remove redundant App setup in control_tools.cpp
- Use CLI11 envname for PCLOUD_USER
- Fix C++11 compatibility for putil_wipe and App initialization in control_tools.cpp
@lneely lneely merged commit d0d34f4 into main May 1, 2026
7 checks passed
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