Some boilerplate for my C++ projects.
with:
- conan
- cmake
- ctest + googletest
- doxygen
- github actions
- cmake + ctest
- doxygen -> github pages
- CodeQL
For demo purposes this template contains a very simple main and a fizz-buzz implementation. On top there is a ton of CI/CD stuff.
The version tag is auto generated with git describe --tags --always --dirty=-dev, which produces something of the form tag-hash(-dev) (e.g. v2.3.3-2-g28ed396-dev). This string is used as a suffix for executables and in doxygen. Therefore tags with semantic versioning are encuraged.
Download the program for your platform from the latest build action.
- CMake
- Conan
- boost (program_options)
- gtest
conan install conanfile.txt --build=missing
cmake -DCMAKE_TOOLCHAIN_FILE=./build/generators/conan_toolchain.cmake -S. -B./build -G "YourGeneratorHere"
cmake --build buildcd build
ctestDoxygen documentation can be found here.
Or build it yourself:
git clone https://github.com/jothepro/doxygen-awesome-css.git docs/doxygen-awesome-css
echo "PROJECT_NUMBER = $(git describe --tags --always --dirty=-dev)" > docs/PROJECT_NUMBER # important, always do this before running doxygen
doxygenFor further information check out the wiki.
This software is open source and released under the MIT License.