ModernCppStarter
Plantilla C++ moderna con CMake, CI, cobertura de código, formateo automático y gestión reproducible de dependencias mediante CPM.cmake.
Ficha actualizada 18 sept 2026, 19:54 · upstream 30 may 2026, 18:52 · release v0.19.2
Qué es ModernCppStarter
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
ModernCppStarter es una plantilla para iniciar proyectos en C++ moderno que automatiza tareas repetitivas como la configuración de CMake, integración continua, pruebas unitarias, análisis estático y generación de documentación. Incluye soporte para sanitizadores, formateo con clang-format y gestión de dependencias reproducible mediante CPM.cmake.
La estructura del proyecto separa claramente el código de la biblioteca del ejecutable, facilitando su mantenimiento y reutilización. Soporta tanto bibliotecas header-only como proyectos completos con múltiples subproyectos independientes. La documentación se genera automáticamente con Doxygen y se publica en GitHub Pages al crear un release.
Para el desarrollo, proporciona directorios predefinidos para pruebas (test), ejecutables de ejemplo (standalone) y documentación (documentation). Incluye un directorio 'all' que permite construir todos los subproyectos simultáneamente, ideal para integración con IDEs. La configuración soporta múltiples plataformas mediante GitHub Actions.
- Inicializar rápidamente un nuevo proyecto C++ moderno con estructura profesional
- Integrar una suite de pruebas unitarias automatizada con CTest y cobertura de código
- Configurar formateo automático de código fuente con clang-format y cmake-format
- Generar documentación técnica automática con Doxygen y publicar en GitHub Pages
- Prácticas modernas de CMake según recomendaciones de la comunidad
- Integración continua automatizada con GitHub Actions para múltiples plataformas
- Gestión reproducible de dependencias mediante CPM.cmake sin obligar a usuarios finales
- Soporte nativo para sanitizadores (Address, Memory, Undefined, etc.) y analizadores estáticos
- Requiere instalación manual de herramientas externas como clang-format, cmake-format y Doxygen
- No incluye CPack por defecto para generar instaladores de paquetes
- La gestión de dependencias externa requiere conexión a internet durante la configuración inicial
- Uso de GLOB en CMakeLists.txt que puede requerir reinicio manual tras cambios estructurales
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para despliegue, usar el directorio 'all' como punto de entrada principal para IDEs. Configurar variable de entorno CPM_SOURCE_CACHE para permitir trabajo offline posterior. Añadir token de Codecov en GitHub Secrets si se usa cobertura. Eliminar directorios no necesarios (standalone, documentation) si no son requeridos.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.