Cookiecutter template for C++ with several libs ready to be used.
Project description
Cookiecutter template for a C++ package.
GitHub repo: https://github.com/grhawk/cookiecutter-cpp/
Documentation (this is for cookiecutter-pypackage): https://cookiecutter-pypackage.readthedocs.io/
Free software: BSD license
Credits
This is basically a fork of Cookiecutter.
Features
Managing dependencies with Conan and the CMake-Conan-Integration. This allows to easily add dependencies directly into the CMakeList.txt file.
No need to execute Conan commands (everything run with CMake).
Provide CLI11 out-of-the-box (if requested).
Provide spdlog out-of-the-box (if requested).
Circleci: Ready for Circleci Continuous Integration testing
hdoc documentation: TODO!
bump2version: TODO!
Quickstart
Install the latest Cookiecutter if you haven’t installed it yet (this requires Cookiecutter 1.4.0 or higher):
pip install -U cookiecutter
Generate a Python package project:
cookiecutter https://github.com/grhawk/cookiecutter-cpp.git
Enter the newly generated folder. Make sure the Conan profile is configured:
conan profile list
If you don’t have a Conan profile, you can create one with conan profile detect –force. At this point you can run:
mkdir build && cd build; cmake .. cmake --build .
This will prepare the needed C++ libraries and compile the example code. You can now test the compiled code:
./sandbox/cpp_boilerplate-sandbox
and run the unittests:
ctest
The created folder is already a git repo that you can push on github and has already a basic CI implemented to test the code with CircleCI.
For more details, see the cookiecutter-pypackage tutorial.
Not Exactly What You Want?
Don’t worry, you have options:
Fork This / Create Your Own
If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn’t strictly have to be a fork.
Once you have your own version working, add it to the Similar Cookiecutter Templates list above with a brief description.
It’s up to you whether or not to rename your fork/own version. Do whatever you think sounds good.
Contributing
Fork the project.
Edit whatever you feel like.
Describe the changes on the “unreleased” tag in the CHANGELOG.md.
Create a Merge Request to the main branch.
Once a new branch has been merged, it is enough to create a new semver tag to generate a new version of the cookiecutter repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cookiecutter_cpp-3.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07535df9136f2bec51376ef6e2fbf927c9a7dec47097f17299146f5fed13eaed |
|
MD5 | 57bb0423c1721bf0d3e24e9bad634d79 |
|
BLAKE2b-256 | 5e2c24f77ba57fc141dea35e600783a34661d7b26f25d241ff6cfe9712b7cdc8 |