44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# Ligo
|
|
|
|
Ligo is a C++23 networking and transport library. It provides HTTP JSON calls, framed TCP JSON calls, reliable UDP datagrams, TCP/TLS handoff helpers, timeout handling, and `std::expected`-based error reporting.
|
|
|
|
Ligo uses Modulus for shared build tooling, Boost.JSON, and OpenSSL integration. Product-specific routes and workflows belong in consuming applications.
|
|
|
|
## Build
|
|
|
|
Configure, build, and test the default target:
|
|
|
|
```sh
|
|
python3 modulus.py configure
|
|
python3 modulus.py build
|
|
python3 modulus.py test
|
|
```
|
|
|
|
Release verification:
|
|
|
|
```sh
|
|
python3 modulus.py configure --target x86_64_gcc12_release
|
|
python3 modulus.py build --target x86_64_gcc12_release
|
|
python3 modulus.py test --target x86_64_gcc12_release
|
|
```
|
|
|
|
Create packages:
|
|
|
|
```sh
|
|
python3 modulus.py package --all
|
|
```
|
|
|
|
Configure/build/test can read public packages anonymously from the khodo Conan registry. Publishing requires credentials only on the upload step:
|
|
|
|
```sh
|
|
CONAN_USER=<user> \
|
|
CONAN_TOKEN=<token> \
|
|
LIGO_CONAN_UPLOAD=1 \
|
|
MODULUS_ALLOW_PACKAGE_REPLACE=1 \
|
|
python3 modulus.py package --all --replace
|
|
```
|
|
|
|
## License
|
|
|
|
Ligo is released under the MIT License.
|