An open-source C++ library developed and used at YScope.
Clone ystdlib-cpp into your project. Then, in your project's CMakeLists.txt, add the following:
add_subdirectory(/path/to/ystdlib-cpp EXCLUDE_FROM_ALL)
target_link_libraries(<target_name> <link_options>
ystdlib::<lib_1> ystdlib::<lib_2> ... ystdlib::<lib_N>
# other libs...
)Ensure that ystdlib-cpp is either within a subdirectory of the folder containing CMakeLists.txt
or at the same level.
Follow the steps below to develop and contribute to the project.
- Python 3.10 or higher
- Task 3.40.0 or higher
Initialize and update submodules:
git submodule update --init --recursiveTo build all targets:
task build:allTo build an executable containing all unit tests:
task build:unit-test-allTo build an executable containing a single library's unit tests:
task build:unit-test-<lib_name>To build and run all unit tests:
task test-allTo build and run unit tests for a specific library:
task test-<lib_name>Before submitting a pull request, ensure you’ve run the linting commands below and have fixed all violations and suppressed all warnings.
To run all linting checks:
task lint:checkTo run all linting checks AND fix some violations:
task lint:fixTo see how to run a subset of linters for a specific file type:
task -aLook for all tasks under the lint namespace (identified by the lint: prefix).