This project uses hunter as a package manager
See https://github.com/ruslo/hunter
And catch2 as unit testing library
See https://github.com/catchorg/Catch2
General project configuration, Libraries
Set Project name here, or use shell script to automatically do that
Contains *.h
header files
Contains *.cpp
source files
Contains *.test.cpp
Catch2 unit test files
Contains HunterGate
Contains new project creation script that can be added to your shell path to quickly generate new c++ projects
You don't need to install this shell script, you could also just change the project name of this project in CMakeLists.txt
and start from this
$ new-cpp-project ExampleProject
This creates a new cmake project
- Library (eg ExampleProject-lib)
- Executable (eg ExampleProject)
- Unit tests (eg ExampleProject-test)
I recommend using a CMake-based IDE like CLion from Jetbrains or similiar products to automatically build and run this project