1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 21:51:12 +02:00

Update README.md

This commit is contained in:
Lars Melchior 2020-04-11 19:36:36 +02:00 committed by GitHub
parent e40356919c
commit cd3cfca47e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,36 +3,32 @@
[![Actions Status](https://github.com/TheLartians/Greeter/workflows/Ubuntu/badge.svg)](https://github.com/TheLartians/Greeter/actions) [![Actions Status](https://github.com/TheLartians/Greeter/workflows/Ubuntu/badge.svg)](https://github.com/TheLartians/Greeter/actions)
[![Actions Status](https://github.com/TheLartians/Greeter/workflows/Style/badge.svg)](https://github.com/TheLartians/Greeter/actions) [![Actions Status](https://github.com/TheLartians/Greeter/workflows/Style/badge.svg)](https://github.com/TheLartians/Greeter/actions)
# Greeter # CMakeStarter
A best-practice git template for modern C++ libraries and projects. A template for modern C++ libraries and projects.
## Features ## Features
- Modern CMakeLists.txt - Modern CMake practices
- Suited for single header libraries and larger projects - Suited for single header libraries and larger projects
- Creates a library that can be installed or included locally
- Integrated test suite - Integrated test suite
- Preconfigured for continuous integration with multiplatform tests via GitHub Workflows
- Code formatting enforced via [clang-format](https://clang.llvm.org/docs/ClangFormat.html)/[Format.cmake](https://github.com/TheLartians/Format.cmake) - Code formatting enforced via [clang-format](https://clang.llvm.org/docs/ClangFormat.html)/[Format.cmake](https://github.com/TheLartians/Format.cmake)
- Continuous integration via GitHub Workflows - Reliable dependency management that works everywhere via [CPM.cmake](https://github.com/TheLartians/CPM.cmake)
- 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 ## Usage
### Adjust the template to your needs ### Adjust the template to your needs
- Clone this repo and replace all occurrences of "Greeter" in the [CMakeLists.txt](CMakeLists.txt) - Clone this repo and replace all occurrences of "Greeter" in the [CMakeLists.txt](CMakeLists.txt) with the name of your project
- Single-header libraries: see the comments in [CMakeLists.txt](CMakeLists.txt) - Replace the source files with your own
- For single-header libraries: see the comments in [CMakeLists.txt](CMakeLists.txt)
- Have fun! - Have fun!
### Build and run test suite ### Build and run test suite
Use the following commands from the project's root directory to run the test suite.
```bash ```bash
cmake -Htest -Bbuild cmake -Htest -Bbuild
cmake --build build cmake --build build
@ -43,6 +39,8 @@ CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --target test
### Run clang-format ### Run clang-format
Use the following commands from the project's root directory to run clang-format (must be installed on the host system).
```bash ```bash
cmake -Htest -Bbuild cmake -Htest -Bbuild
# view changes # view changes
@ -52,3 +50,8 @@ cmake --build build --target fix-format
``` ```
See [Format.cmake](https://github.com/TheLartians/Format.cmake) for more options. See [Format.cmake](https://github.com/TheLartians/Format.cmake) for more options.
## Coming soon
- Code coverage