Open
Description
Expand the 101 series by adding a post about managing a project's source tree.
Salient points to cover:
- Pitchfork layout (quick brief + hyperlink)
- Include paths and directories
- Why
#include <>
and not#include ""
- How to add include paths for a CMake target
- How to organize include paths and subdirectories for modular and portable
#include
s
- Why
- Why lowercase filenames
.gitignore
setupout/
,build/
,.vscode/
,.cache/
etccompile_commands.json
- Branching strategies
- Continuous vs versioned software; C++ projects are the latter
- "The" git branching model vs GitHub flow
- All branches must converge to a "common future"; only exception is automated branches like
gh-pages
(not applicable for C++ projects) - Minimize number of persistent branches
- Use short lived feature / topic branches for development
- Use tags to mark versions on commits (useful for releases and libraries)
Metadata
Metadata
Assignees
Labels
No labels