Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lvillani/template-modern-cpp
https://github.com/lvillani/template-modern-cpp
cmake conan conan2 cpp20 cross-platform template-project
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/lvillani/template-modern-cpp
- Owner: lvillani
- License: unlicense
- Created: 2022-12-23T10:41:40.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-08T11:11:52.000Z (15 days ago)
- Last Synced: 2024-12-08T12:20:14.324Z (15 days ago)
- Topics: cmake, conan, conan2, cpp20, cross-platform, template-project
- Language: Python
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Modern C++ Template Project
A template project using C++ 20, CMake, and modern practices.
## Choices
This repository follows, for the most part, advice taken from the book [Professional CMake: A
Practical Guide](https://crascit.com/professional-cmake/).The following list illustrates some additional choices and their rationale:
- Ninja as the default build tool: Ninja is available on most platforms, is designed to be fast and,
when available, is preferred by [Qt Creator](https://doc.qt.io/qtcreator/) and recommended by [VS
Code CMake Tools](https://github.com/microsoft/vscode-cmake-tools/blob/main/docs/configure.md). It
is rapidly becoming the most recommended build tool.
- Single configuration builds: [almost all
generators](https://cmake.org/cmake/help/latest/prop_gbl/GENERATOR_IS_MULTI_CONFIG.html) are
single-config and IDEs like [Qt Creator](https://doc.qt.io/qtcreator/) work better with them.