Usando cmake para compilar c/c++

Como usar o cmake para compilar projetos em c/c++

O que é o cmake

O CMake é um "Cross-Platform Makefile Generator" ou uma ferramenta open-source que permite gerar automaticamente scripts de construção de aplicação em diferentes plataformas, como por exemplo "Unix Makefiles, Xcode, Visual Studio, CodeBlocks etc …",

Instalando o cmake

Para instalar o cmake abra o terminal e siga as instruções abaixo.

# For Ubuntu
$ sudo apt-get install cmake
# For Redhat
$ yum install cmake
# For Mac OS X with brew
$ brew install cmake

Criando um hello world em cpp

Para facilitar nosso exemplo vamos criar um pequeno hello world em cpp e gerar o build com o cmake.

Criando um diretório para o projeto.

Dentro do arquivo main.cpp coloque o conteúdo abaixo.

Arquivo: main.cpp
#include <iostream>

using namespace std;

int main(void) {

     cout << "Hello World" << endl;

     return(0);

}

Agora temos que criar o nosso CMakeLists.txt que será o roteiro usado pelo cmake para criar os scripts de compilação da aplicação. dentro do CMakeLists.txt coloque o conteúdo listado abaixo.

Arquivo: CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(sampleCmake)
add_executable(hello main.cpp)

Uma vez criado os arquivos do nosso projeto vamos testar para saber se está tudo funcionando como planejado para isso siga as instruções abaixo.

$ mkdir build && cd build
$ cmake ../
$ make
$ ./hello

Nos criamos um diretório aparte para compilar o projeto convencionalmente chamado de build e depois executamos o cmake ../ mas informações para que ele procure o CMakeLists.txt no diretório anterior. Uma vez que encontre o CMakeLists.txt o cmake começa a construção dos scripts de compilação necessários no caso do exemplo acima um Makefile. Terminado a construção sem erros temos um arquivo Makefile pronto para compilação nesse caso é só executar um "make" para compilar e depois executar o binário "./hello".