CMake est un système de méta-construction open source multiplateforme qui peut créer, tester et empaqueter des logiciels. Il peut être utilisé pour prendre en charge plusieurs environnements de construction natifs, notamment make, Xcode d'Apple et Microsoft Visual Studio.
Ce référentiel comprend quelques exemples de configurations CMake modernes que j'ai récupérées lors de l'exploration de son utilisation pour divers projets. Les exemples sont présentés dans un format de type didacticiel. Les premiers exemples sont très basiques et augmentent lentement en complexité en s'appuyant sur des exemples précédents pour montrer des cas d'utilisation plus complexes.
Ces exemples ont été testés sur Ubuntu 16.04 mais devraient fonctionner sous n'importe quel système Linux prenant en charge CMake v3.5+.
Cette branche fonctionne à partir de la version 3.5 de CMake.
Pour des exemples utilisant CMake version 2.x, consultez la branche v2-style-includes.
Pour des exemples utilisant CMake version 3.0, voir la branche v3.0-minimum
Les exigences de base pour la plupart des exemples sont :
CMake v3.5+
Un compilateur C++ (gcc par défaut)
faire
Le moyen le plus simple d'installer ce qui précède sur Ubuntu est le suivant
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
Certains exemples spécifiques peuvent nécessiter d'autres outils, notamment :
booster
$ sudo apt-get install libboost-all-dev
protobuf
$ sudo apt-get install libprotobuf-dev $ sudo apt-get install protobuf-compilateur
cppcheck
$ sudo apt-get install cppcheck
bruit
$ sudo apt-get install clang-3.6
ninja
$ sudo apt-get install ninja-build
conan
$ sudo apt-get install python3 python3-pip $ sudo pip3 installer conan
Des conteneurs Docker avec toutes les exigences et différentes versions de CMake sont générés pour faciliter le test des exemples. Ceux-ci sont disponibles dans le référentiel Docker Hub matrim/cmake-examples.
Pour créer l'ensemble complet de cas de test cmake-examples, vous pouvez exécuter :
docker run -it matrim/cmake-examples:3.5.1
cd ~
git clone https://github.com/ttroy50/cmake-examples.git code
cd code
./test.sh
Pour plus de détails sur la création et l'exécution des fichiers docker des conteneurs Docker.
Il existe de nombreux didacticiels et exemples CMake en ligne. La liste ci-dessous comprend des liens vers certains d'entre eux que j'ai trouvés utiles dans mon parcours CMake.
Diapositives CMake modernes
rix0r Blog CMake moderne
Tutoriel officiel CMake
Wiki officiel de CMake
Variables utiles CMake
Derek Molloy - Introduction à CMake
Projets C++ modulaires
Anti-modèles CMake courants
Utilisation de l'analyseur statique Clang avec CMake
Analyse statique avec CDash - Comprend quelques informations sur l'utilisation de CppCheck avec CMake
Conseils CMake
John Lamp - Tutoriel CMake
Documentation Conan