project-template
v2.3.0
A template repository for C++ projects
|
A template repository designed for medium to large C++ projects with multiple subprojects/executables. Includes
Recommended IDE is VSCode with the following extensions
On Windows I recommend using vcpkg
Clone the repository
Configure the project with default compiler and compile
Configure All Projects
, select appropriate compilerBuild All Projects
bin
Binary folder, output directory for executables, add runtime resources here (icons, etc.)common
Common code shared amongst projects: logging, utilities, etc.docs
Documentation folderdocs\www
Documentation webpage root folder, ignored, clone of repository's gh-pages branchinclude
Public include folder for librarieslibraries
Third party librariestools
Helper code such as check coding conventions scriptinstaller-win
Self-extracting installer executable which sets up directories, variables, etc.project-fractal
Application to draw a fractal to the consoleproject-library
Library to add two numbers togethertools/SetupProject.py
from the top level folder. It will guide you through the process. The script checks for all software dependencies (prompts for their installation), modifies top-level project name, modifies targets, resets the git repository to an initial commit, and tags the commit v0.0.0. The only dependency is the ability to run python scripts.Note: Target names cannot have spaces in CMake. To have spaces in the output files uncomment the following in ./CMakeLists.txt
and duplicate as needed:
The docs/www
folder contains the documentation branch of this repo (gh-pages
for GitHub). Once the repository has a remote, clone that branch into that folder and use it to build a documentation website.