This project is a Cookiecutter template for creating a C++ library project, with tooling.
The main features of the C++ project are:
- CMake build system
- Catch2 for C++ unit tests
- Document generation with doxygen or sphinx
- bump2version for incrementing version number in all relevant files
- clang-format for automatically formatting your code
$ pip3 install cookiecutter
$ cookiecutter https://github.com/nmusolino/cookiecutter-cpplib-tools
You will be prompted to enter an author name, a project name, and other template parameters. The main parameters are listed in the table below.
$ cd my_project
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
$ ctest # run C++ unit tests
To contribute to this cookiecutter template project, check out the repository and run the tests.
$ git clone https://github.com/nmusolino/cookiecutter-cpplib-tools
$ cd cookiecutter-cpplib-tools
$ pip3 install pipenv
$ pipenv install --dev
$ pipenv run pytest # Run tests of the template
This project is licensed under the GNU General Public License, version 3. See the LICENSE file for details.
This cookiecutter incorporates ideas and code snippets from the following projects:
- [cc-cpp-dll]https://github.com/numengo/cc-cpp-dll
- [cookiecutter-pypackage]https://github.com/audreyr/cookiecutter-pypackage
