Concise CMake templates for creating C++ libraries and executables with support for Conan and vcpkg.
cmake_templates is a collection of minimal CMake templates designed to help C++ developers quickly set up build systems for libraries or executables. It provides ready-to-use configurations that work with standard CMake, Conan, and vcpkg, reducing the time spent on boilerplate build configuration. The templates handle common project structures and dependency management patterns.
C++ developers who need to quickly bootstrap new projects with proper CMake configuration, especially those using Conan or vcpkg for dependency management.
Developers choose cmake_templates because it provides concise, practical templates that work out of the box, eliminating the need to write repetitive CMake boilerplate. It supports multiple dependency management approaches while maintaining minimal complexity.
Concise CMake 3.31+ templates for C++ executables and libraries.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The import_library function and built-in support for Conan/vcpkg simplify adding third-party libraries, as shown in the README examples for GLM and Boost.
Minimal templates allow for rapid setup of C++ libraries or executables, reducing boilerplate CMake configuration time.
Based on standard CMake practices, the templates work across different operating systems without modification, ensuring portability.
Supports both Conan and vcpkg, giving developers the option to use their preferred dependency management tool without rewriting build scripts.
Requires copying templates and manually editing files like CMakeLists.txt and conanfile.py, which can be prone to human error and is less automated than some alternatives.
Focuses on minimal configuration, so it lacks built-in support for common project aspects like testing frameworks, documentation generation, or code coverage.
Effective use with Conan or vcpkg necessitates that these tools are already installed and configured, adding an extra layer of setup complexity.