|
25 | 25 | - [Contributing](#contributing) |
26 | 26 | - [License](#license) |
27 | 27 |
|
28 | | - |
29 | 28 | ## Features |
30 | 29 |
|
31 | 30 | - **Modern C++20+**: fully enabled C++20 with support for upgrading to C++23 |
|
40 | 39 | - **Installation**: provides `find_package(...)` integration with proper exports |
41 | 40 | - **CI-Ready**: GitHub Actions for builds, linting, testing, and formatting |
42 | 41 |
|
43 | | - |
44 | 42 | ## Project Structure |
45 | 43 |
|
46 | 44 | ```text |
47 | 45 | modern-cpp-project-template/ |
| 46 | +├── .github/workflows/ # CI pipelines for GitHub Actions |
| 47 | +├── .vscode/ # VS Code workspace settings |
48 | 48 | ├── app/ # Optional demo application |
49 | 49 | ├── benchmarks/ # Google Benchmark performance tests |
50 | | -├── cmake/ # Custom CMake modules (warnings, sanitizers, tooling) |
51 | | -├── include/ # Public headers |
| 50 | +├── cmake/ # Custom CMake modules (Options, Flags, Helpers, etc.) |
| 51 | +├── include/ # Public library headers |
52 | 52 | ├── src/ # Library source files |
53 | | -├── tests/ # Unit tests using GoogleTest |
| 53 | +├── tests/ # Unit tests (GoogleTest) |
54 | 54 | ├── .clang-format # Formatting rules |
55 | 55 | ├── .clang-tidy # Static analysis configuration |
56 | | -├── CMakeLists.txt # Top-level CMake build configuration |
| 56 | +├── .clangd # Clangd language server settings |
| 57 | +├── .editorconfig # Editor consistency rules |
| 58 | +├── .gitignore # Git ignore patterns |
| 59 | +├── CMakeLists.txt # Top-level build configuration |
57 | 60 | ├── CMakePresets.json # Build, test, and workflow presets |
58 | | -└── README.md |
| 61 | +├── LICENSE # Apache 2.0 license |
| 62 | +└── README.md # Project documentation |
59 | 63 | ``` |
60 | 64 |
|
61 | 65 | ## Prerequisites |
|
0 commit comments