This repository is designed to allow you to easily learn to write better C++
code. In the task
directory are various programming tasks that you may choose to solve. If you are interested in solving one of them please proceed as follows:
- Fork this repository
- Clone your fork and edit the task you want to solve. Feel free to directly edit the existing folder or create a copy and edit the CMake files to avoid name conflicts.
- Create a pull request for this repository
For every pull request you will get:
- They are compiled with various compilers (currently
gcc
andclang
). - One of the compiler runs also includes output of
clang-tidy
. - We run your unit tests and provide the code coverage.
- There are also two code quality linters enabled that may provide useful information. In general, you may to choose not to fix every compiler or linter warning, but you should try to understand the origin of these warnings.
Note: We will not merge every pull request that is sent to this repo. Please close them, once you have finished a task.
In general it can be build like any other CMake project. A simple approach would be to run:
mkdir build
cd build
cmake ..
make
make test
This should build the software and run the test cases.
Code coverage reports are only generated if every other test is passed successfully.