Remove all dependencies to boost (except for boost test).
Details
Remove macros provided by boost to handle compilers that don't support the needed features. All major compilers now support the features we need.
Additional changes:
use TCLAP library instead of boost::program_options
throw std::system_error instead of boost::system::system_error
use non-boost version of asio
Motivation and Context
Boost is a bit heavy and most functionality is no longer needed. With this changes, cucumber-cpp does not need boost anymore.
How Has This Been Tested?
Automated tests and own project.
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected).
Boost is no longer a dependency but TCLAP and asio. Consumer of cucumber-cpp should not need to change their code, only the dependencies.
Checklist:
[x] It is my own work, its copyright is implicitly assigned to the project and no substantial part of it has been copied from other sources (including Stack Overflow). In rare occasions this is acceptable, like in CMake modules where the original copyright information should be kept.
[x] I'm using the same code standards as the existing code (indentation, spacing, variable naming, ...).
[ ] I've added tests for my code.
[x] I have verified whether my change requires changes to the documentation
[x] My change either requires no documentation change or I've updated the documentation accordingly.
[x] My branch has been rebased to main, keeping only relevant commits.
Summary
Remove all dependencies to boost (except for boost test).
Details
Remove macros provided by boost to handle compilers that don't support the needed features. All major compilers now support the features we need.
Additional changes:
Motivation and Context
Boost is a bit heavy and most functionality is no longer needed. With this changes, cucumber-cpp does not need boost anymore.
How Has This Been Tested?
Automated tests and own project.
Types of changes
Boost is no longer a dependency but TCLAP and asio. Consumer of cucumber-cpp should not need to change their code, only the dependencies.
Checklist: