C++ command line option parser
This project builds and defines the build2 package for cxxopts
, a lightweight C++ command line option parser.
The packaging code is licensed under the MIT License, the upstream artifacts are licensed under the terms and conditions of cxxopts.
Usage
Make sure to add the stable section of the cppget.org repository to your project's repositories.manifest
to be able to fetch this package.
:
role: prerequisite
location: https://pkg.cppget.org/1/stable
# trust: ...
If this is not an option then, instead, add this Git repository itself as a prerequisite.
:
role: prerequisite
location: https://github.com/build2-packaging/cxxopts.git
Add the respective dependency in your project's manifest
file to make the package available for import.
depends: libcxxopts ^ 3.2.0
Import the library in your buildfile
by using the following line.
import cxxopts = libcxxopts%lib{cxxopts}
Configuration
Unicode Support
config [bool] config.libcxxopts.use_unicode ?= false
Unicode functionality in cxxopts is based on the ICU library.
It will be added as interface dependency to the header-only library if this config variable is set to true
.
Issues
- The upstream code uses older versions of Catch2 and provides its source code in-place. We don't depend on the Catch2 package as this older version is not available on
cppget.org
.
Contributing
Thanks in advance for your help and contribution to keep this package up-to-date. For now, please, file an issue on GitHub for everything that is not described below.
Recommend Updating Version
Please, file an issue on GitHub with the new recommended version.
Update Version by Pull Request
- Fork the repository on GitHub and clone it to your local machine.
- Run
git submodule init
andgit submodule update
to get the current upstream directory. - Inside the
upstream
directory, checkout the new library versionX.Y.Z
by callinggit checkout vX.Y.Z
that you want to be packaged. - If needed, change source files,
buildfiles
, and symbolic links accordingly to create a working build2 package. Make sure not to directly depend on the upstream directory inside the build system but use symbolic links instead. - Update library version in
manifest
file if it has changed or add package update by using+n
for then
-th update. - Make an appropriate commit message by using imperative mood and a capital letter at the start and push the new commit to the
master
branch. - Run
bdep ci
and test for errors. - If everything works fine, make a pull request on GitHub and write down the
bdep ci
link to your CI tests. - After a successful pull request, we will run the appropriate commands to publish a new package version.
Update Version Directly if You Have Permissions
- Inside the
upstream
directory, checkout the new library versionX.Y.Z
by callinggit checkout vX.Y.Z
that you want to be packaged. - If needed, change source files,
buildfiles
, and symbolic links accordingly to create a working build2 package. Make sure not to directly depend on the upstream directory inside the build system but use symbolic links instead. - Update library version in
manifest
file if it has changed or add package update by using+n
for then
-th update. - Make an appropriate commit message by using imperative mood and a capital letter at the start and push the new commit to the
master
branch. - Run
bdep ci
and test for errors and warnings. - When successful, run
bdep release --tag --push
to push new tag version to repository. - Run
bdep publish
to publish the package to cppget.org.
license | MIT |
---|---|
project | cxxopts |
url | github.com/jarro2783/cxxopts |
doc-url | github.com/jarro2783/cxxopts/wiki |
src-url | github.com/jarro2783/cxxopts |
topics | option parserpositional arguments |
version | 3.2.0 |
---|---|
repository | https://pkg.cppget.org/1/stable |
depends | 1; libicuuc ? |
reviews | +1 |
version | 3.1.1+2 |
---|---|
repository | https://pkg.cppget.org/1/stable |
depends | 1; libicuuc ? |
reviews | +1 |