mirror of
https://github.com/TheLartians/ModernCppStarter.git
synced 2025-08-30 21:51:12 +02:00
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
[](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.
|