CMake é um sistema de metaconstrução de código aberto e plataforma cruzada que pode construir, testar e empacotar software. Ele pode ser usado para oferecer suporte a vários ambientes de construção nativos, incluindo make, xcode da Apple e Microsoft Visual Studio.
Este repositório inclui alguns exemplos de configurações modernas do CMake que aprendi ao explorar seu uso em vários projetos. Os exemplos são apresentados em formato de tutorial. Os primeiros exemplos são muito básicos e aumentam lentamente em complexidade, baseando-se em exemplos anteriores para mostrar casos de uso mais complexos.
Esses exemplos foram testados no Ubuntu 16.04, mas devem funcionar em qualquer sistema Linux que suporte CMake v3.5+.
Este branch funciona com o CMake versão 3.5 em diante.
Para exemplos que usam o CMake versão 2.x, consulte o branch v2-style-includes.
Para exemplos que usam o CMake versão 3.0 veja o branch v3.0-minimum
Os requisitos básicos para a maioria dos exemplos são:
CMake v3.5+
Um compilador c++ (o padrão é gcc)
fazer
A maneira mais fácil de instalar o acima no Ubuntu é a seguinte
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
Alguns exemplos específicos podem exigir outras ferramentas, incluindo:
impulsionar
$ sudo apt-get install libboost-all-dev
protobuf
$ sudo apt-get install libprotobuf-dev $ sudo apt-get install protobuf-compiler
cppcheck
$ sudo apt-get install cppcheck
clangor
$ sudo apt-get install clang-3.6
ninja
$ sudo apt-get install ninja-build
conan
$ sudo apt-get instalar python3 python3-pip $ sudo pip3 instalar conan
Contêineres Docker com todos os requisitos e várias versões do CMake são gerados para ajudar a facilitar o teste dos exemplos. Eles estão disponíveis no repositório do docker hub matrim/cmake-examples.
Para construir o conjunto completo de casos de teste cmake-examples você pode executar:
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 obter mais detalhes sobre como construir e executar os dockerfiles dos contêineres do Docker.
Existem muitos tutoriais e exemplos do CMake online. A lista abaixo inclui links para alguns deles que considero úteis em minha jornada no CMake.
Slides CMake modernos
Rix0r Blog moderno do CMake
Tutorial oficial do CMake
Wiki oficial do CMake
Variáveis úteis do CMake
Derek Molloy - introdução ao CMake
Projetos modulares C++
Antipadrões comuns do CMake
Usando o analisador estático clang com CMake
Análise estática com CDash – Inclui algumas informações sobre como usar CppCheck com CMake
Dicas do CMake
John Lamp - Tutorial do CMake
Documentação de Conan