Introdução ao cmake e cpack no Linux

Introdução ao cmake e cpack no Linux
“O CMAKE é um conjunto de ferramentas populares e úteis e de plataforma aberta que utilizam arquivos de configuração independentes de compilador e plataforma para criar, testar e pacote projetos. O CMake foi desenvolvido como a solução para um espaço de construção entre plataformas para projetos de código aberto.

CPACK é uma ferramenta de embalagem que é de plataforma cruzada e distribuída pela CMake. No entanto, pode ser usado independentemente do CMake, mas usa conceitos de gerador da ferramenta CMake Suite.

Este guia cobre a instalação e o uso de cmake e cpack.”

Como instalar o cmake

Você pode instalar o CMake através da linha de comando ou do Ubuntu Software Center. Nesse caso, vamos instalá -lo através da linha de comando, mas você pode verificar os métodos completos de instalação do CMake para obter mais detalhes.

Primeiro, atualize seu repositório.

Atualização $ sudo apt-get

Em seguida, digite o comando abaixo para instalar o cmake.

$ sudo snap install cmake -clássico

Você pode confirmar a instalação verificando sua versão.

$ cmake -versão

Usando CMake para configurar, construir e depurar um projeto C ++ no Linux

CMake é popular para gerenciar construções de código para projetos de C ++, e o faz com a ajuda do Cmakelists.TXT arquivos para cada diretório. Eles definem as tarefas que o sistema de construção deve realizar.

No nosso caso, escreveremos um programa simples de C ++ usando o código do Visual Studio e construímos usando o cmake.

Certifique -se de ter a extensão C ++ Visual Studio instalada, um depurador, de preferência GCC e CMake.

Você pode instalar o GCC usando o comando:

$ sudo apt-get install build-essencial gdb

Para começar, crie uma pasta de trabalho e abra -a no código do Visual Studio.

$ mkdir cmakeemo
$ CD CMakeMo

Código do Visual Studio aberto

$ código

Depois que o código do Visual Studio abrir, abra a paleta digitando Ctrl + Shift + P

Para criar rapidamente os arquivos cmake necessários, digite Cmake: início rápido e escolha a opção como na imagem abaixo.

Se solicitado a escolher entre Biblioteca e Executável, Escolha executável. Você notará dois arquivos, a função principal e os cmakelists.txt será criado.

Você também precisa selecionar um kit para informar o cmake qual compilador usar.

Primeiro, verifique sua versão do GCC no terminal. Na paleta, procure o kit e escolha o que corresponde à sua versão.

Na parte inferior da janela, você verá o kit selecionado. No nosso caso, é GCC 9.4.0 x86_64-linux-gnu.

Cmake também usa uma variante que contém instruções sobre a construção do projeto. Ainda na paleta, digite Cmake: selecione variante. Existem quatro variantes para escolher.

  • Depurar: Inclui os detalhes de depuração, mas desativa otimizações.
  • Liberar: Nenhum detalhe de depuração, mas a otimização é incluída.
  • Relwithdebinfo: Inclui informações de depuração e otimiza para o tamanho.
  • MINSIZEREL: Não inclui os detalhes de depuração, mas otimiza para o tamanho.

No nosso caso, precisamos de informações de otimização e depuração. Então, vamos escolher Depurar.

Configuração

Tudo está definido. Abra a paleta e digite Cmake: configure, Clique no botão Enter e CMake gerará os arquivos de construção e configurará o projeto.

A etapa final é construir o projeto. Você pode fazer isso clicando no Construir na parte inferior da tela ou em execução Cmake: construir.

É isso! Você usou com sucesso a ferramenta CMake para configurar e construir o projeto.

Em caso de qualquer erro com o projeto, basta executar o CMake: Debug, e mostrará onde está o erro no código.

Cmake com cpack

Depois de ter um projeto configurado e construído como fizemos com o cmake, você precisa de uma maneira de construir o software para torná -lo instalável. O que você precisa é de uma maneira ou ferramenta que permita criar o projeto em sua máquina de desenvolvimento e criar um formulário que possa ser transferido e instalado em outro dispositivo. Isso é o que o CPACK faz.

CPACK criará um instalador e um pacote para o projeto. Pode criar pacotes binários e de origem. O bom é que o CPACK suporta a criação de instaladores para OS X, RPMS, Arquivos ZIP, .alcatrão.GZ, pacotes debianos, janelas e .sh.

O CPACK trabalha para criar uma duplicata da árvore de origem para o projeto e alcatrão ou arquivo zip, e você pode transferir o arquivo para outra máquina e armazená -los no diretório correto e ter seu projeto em funcionamento e em execução. CPACK faz a maior parte do trabalho, incluindo a criação de um diretório temporário para o projeto e copiar a árvore de instalação em um formato adequado para a ferramenta de embalagem.

Usando CPACK com cmake

Como o cpack faz parte do cmake, combinar os dois é muito fácil. Em nosso projeto C ++ usando cmake, tivemos uma cmakelists.arquivo txt criado. Dentro do arquivo, há suporte para CPACK que vem gerado automaticamente, como mostrado.

Portanto, a parte restante é gerar os instaladores e pacotes.

Para fazer isso, primeiro, navegue para o construir diretório dentro do diretório do projeto. Em nosso exemplo, será:

$ CD CMakeMo/Build

Você pode listar os diferentes arquivos no diretório.

Para gerar os instaladores, execute o comando:

$ cpack -c cpackconfig.cmake

Você pode observar os diferentes geradores da saída abaixo, incluindo .alcatrão.gz, .sh, e .alcatrão.z.

Como alternativa, você pode executar o comando:

$ cpack -c cpacksourceConfig.cmake

Agora você tem os pacotes necessários para o seu projeto.

Conclusão

CMake e CPACK são ferramentas úteis para gerar arquivos de configuração, criação, teste e projetos de embalagem. Existem toneladas de opções que você pode usar com os comandos para alcançar coisas diferentes. Este guia cobriu o que são cpack e cmake, depois foi em frente para mostrar um exemplo de uso que configura e constrói um projeto C ++ com cmake e empacota -o com CPACK.