mirror of
https://github.com/TheLartians/ModernCppStarter.git
synced 2025-08-30 13:41:13 +02:00
init
This commit is contained in:
commit
c94580f25c
15 changed files with 711 additions and 0 deletions
54
README.md
Normal file
54
README.md
Normal file
|
@ -0,0 +1,54 @@
|
|||
[](https://github.com/TheLartians/Greeter/actions)
|
||||
[](https://github.com/TheLartians/Greeter/actions)
|
||||
[](https://github.com/TheLartians/Greeter/actions)
|
||||
[](https://github.com/TheLartians/Greeter/actions)
|
||||
|
||||
# Greeter
|
||||
|
||||
A best-practice git template for modern C++ libraries and projects.
|
||||
|
||||
## Features
|
||||
|
||||
- Modern CMakeLists.txt
|
||||
- Suited for single header libraries and larger projects
|
||||
- Creates a library that can be installed or included locally
|
||||
- Integrated test suite
|
||||
- Code formatting via clang-format via [Format.cmake](https://github.com/TheLartians/Format.cmake)
|
||||
- Continuous integration via GitHub Workflows
|
||||
- Reliable dependency management via [CPM.cmake](https://github.com/TheLartians/CPM.cmake)
|
||||
- Check compiler warnings
|
||||
|
||||
## Roadmap
|
||||
|
||||
- Add code coverage checks
|
||||
- Add a script to automatically rename project / switch to single-header mode
|
||||
|
||||
## Usage
|
||||
|
||||
### Adjust the template to your needs
|
||||
|
||||
- Copy this repo and replace all occurrences of "Greeter" in the CMakeLists and Readme with project's name.
|
||||
- Note the comments in the CMakeLists for single-header libraries
|
||||
- Have fun!
|
||||
|
||||
### Build and run test suite
|
||||
|
||||
```bash
|
||||
cmake -Htest -Bbuild
|
||||
cmake --build build
|
||||
CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --target test
|
||||
# or simply call the executable:
|
||||
./build/GreeterTests
|
||||
```
|
||||
|
||||
### Run clang-format
|
||||
|
||||
```bash
|
||||
cmake -Htest -Bbuild
|
||||
# view changes
|
||||
cmake --build build --target format
|
||||
# apply changes
|
||||
cmake --build build --target fix-format
|
||||
```
|
||||
|
||||
See [Format.cmake](https://github.com/TheLartians/Format.cmake) for more options.
|
Loading…
Add table
Add a link
Reference in a new issue