A small asynchronous application framework based on Boost/Asio, with components that can be reused accross different projects.
Requires C++20.
Kouta requires the following libraries:
- CMake >=
3.18 - Boost >=
1.74.0 - Asio>=
1.18.0(if standalone Asio is used via theKOUTA_STANDALONE_ASIOoption).
$ mkdir build && cd build
$ cmake ..
$ cmake --build .
The library can be built statically or as a shared library (configurable via the KOUTA_BUILD_SHARED). In addition, there are targets exposing a header-only interface, which may be identified by the suffix -header.
Documentation can be built with Doxygen:
$ doxygen Doxyfile
The resulting HTML documentation can be found in docs/html.
Tests are implemented using GoogleTest and can be compiled after enabling the KOUTA_BUILD_TESTS option in CMake
# Static/Shared library version
$ cmake --build build --target kouta-tests
# Header-only version
$ cmake --build build --target kouta-tests-header
The above command will result in the binaries build/tests/kouta-tests and build/tests/kouta-tests-header respectively, which can be executed to run all the test cases.