Skip to content
/ starter Public template

Starter C++23 Project | CMake + Ninja

License

Notifications You must be signed in to change notification settings

Eshnek/starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Starter

A complete C++23 CMake Ninja starter project.

⚡   Features

  • CMake + Ninja Build System
  • Cross Platform
    • Support for Windows, Mac, and Linux
  • .github/workflows/CI.yml
    • Compiles and tests code with each commit
  • Scripts
    • build.sh
      • Builds the project if needed
    • run.sh
      • Builds the project if needed
      • Runs the output binary
    • clean.sh
      • Erases build and bin folders
  • Support for VSCode debugging with lldb

🔧   How to Use

  • Fork this project, or generate a copy
  • Update the About section of the repository on Github
  • Clone the project locally
  • Change project name in CMakeLists.txt
  • Change program path in .vscode/launch.json
  • Rewrite docs/README.md
  • See src/Main.cxx

🔎   What's Next?

  • Add Test Suite + codacy.com
  • Use multiple compilers
  • Enable automatic formatting
  • Format on commit
  • Precompiled header
  • Attach a debugger (IE lldb) during testing
  • Sanitized Builds
  • Automatic lines of code counting
  • Use lld
  • More branches and CI automation
  • Use C++20 Modules
  • Additional command-runner commands in .vscode/settings.json

Erase Work and Squash Git Commits

git reset $(git commit-tree HEAD^{tree} -m "Starter") && git push -f