CMake es un sistema de metaconstrucción de código abierto multiplataforma que puede crear, probar y empaquetar software. Se puede utilizar para admitir múltiples entornos de compilación nativos, incluidos make, xcode de Apple y Microsoft Visual Studio.
Este repositorio incluye algunos ejemplos de configuraciones modernas de CMake que recogí al explorar su uso para varios proyectos. Los ejemplos se presentan en un formato similar a un tutorial. Los primeros ejemplos son muy básicos y su complejidad aumenta lentamente basándose en ejemplos anteriores para mostrar casos de uso más complejos.
Estos ejemplos se han probado en Ubuntu 16.04, pero deberían funcionar en cualquier sistema Linux que admita CMake v3.5+.
Esta rama funciona con CMake versión 3.5 en adelante.
Para ver ejemplos que usan CMake versión 2.x, consulte la rama v2-style-includes.
Para ver ejemplos que usan CMake versión 3.0, consulte la rama v3.0-mínimo
Los requisitos básicos para la mayoría de los ejemplos son:
CMake v3.5+
Un compilador de C++ (por defecto gcc)
hacer
La forma más sencilla de instalar lo anterior en Ubuntu es la siguiente
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
Algunos ejemplos específicos pueden requerir otras herramientas que incluyen:
aumentar
$ sudo apt-get install libboost-all-dev
protobuf
$ sudo apt-get instalar libprotobuf-dev $ sudo apt-get install protobuf-compiler
cppcheck
$ sudo apt-get instalar cppcheck
sonido metálico
$ sudo apt-get install clang-3.6
ninjas
$ sudo apt-get install ninja-build
conan
$ sudo apt-get instalar python3 python3-pip $ sudo pip3 instalar conan
Se generan contenedores Docker con todos los requisitos y varias versiones de CMake para ayudar a facilitar las pruebas de los ejemplos. Estos están disponibles en el repositorio de Docker Hub matrim/cmake-examples.
Para crear el conjunto completo de casos de prueba de ejemplos de cmake, puede ejecutar:
docker run -it matrim/cmake-examples:3.5.1
cd ~
git clone https://github.com/ttroy50/cmake-examples.git code
cd code
./test.sh
Para obtener más detalles sobre la compilación y ejecución de los archivos acoplables de los contenedores Docker.
Hay muchos tutoriales y ejemplos de CMake en línea. La siguiente lista incluye enlaces a algunos de estos que me han resultado útiles en mi recorrido por CMake.
Diapositivas modernas de CMake
Blog moderno de CMake de rix0r
Tutorial oficial de CMake
Wiki oficial de CMake
CMake variables útiles
Derek Molloy: Introducción a CMake
Proyectos modulares de C++
Antipatrones comunes de CMake
Usando el analizador estático clang con CMake
Análisis estático con CDash: incluye información sobre el uso de CppCheck con CMake
Consejos para hacer CMake
John Lamp - Tutorial de CMake
Documentación de Conan