Instalando Facebook Folly através do Conan
Esse blog post tem o objetivo de apresentar o projeto Facebook Folly e sua complexa cadeia de dependências, bem como o seu uso. Também irá apresentar Conan como uma solução para a sua instalação e de suas dependências.
Parte 3: Construindo o projeto
Agora que o script CMake está atualizado e a receita Conan está com a devida dependência listada, podemos construir o nosso exemplo:
mkdir build && cd build
$ conan install ..
$ cmake ..
$ cmake --build .
O comando "conan install" é responsável por ler o arquivo conanfile.txt, baixar e instalar Folly de acordo com o perfil padrão, baseado nas configuração do host, e gerar o arquivo conanbuildinfo.cmake com todas as informações que precisamos para o próximo passo. Os comandos utilizando CMake irão se encarregar em gerar o arquivo para construção, além de invocar a construção do exemplo.
Uma vez construído, podemos executar o nosso o projeto exemplo:
bin/folly_example
"Callback Future: Hello World!"
Embora Folly seja uma excelente ferramenta para o seu projeto, esta complexidade de 11 projetos relacionados como dependências transitivas, incluindo Boost regex, pode ser levada como fator para evitar o uso da mesma.
O caso do projeto Folly demonstra a importância de um gerente de dependências e pacotes como Conan para o ambiente de desenvolvimento C++ numa era moderna.
O projeto utilizado neste exemplo está disponível em: https://github.com/uilianries/conan-folly-example
mkdir build && cd build
$ conan install ..
$ cmake ..
$ cmake --build .
O comando "conan install" é responsável por ler o arquivo conanfile.txt, baixar e instalar Folly de acordo com o perfil padrão, baseado nas configuração do host, e gerar o arquivo conanbuildinfo.cmake com todas as informações que precisamos para o próximo passo. Os comandos utilizando CMake irão se encarregar em gerar o arquivo para construção, além de invocar a construção do exemplo.
Uma vez construído, podemos executar o nosso o projeto exemplo:
bin/folly_example
"Callback Future: Hello World!"
Conclusão
O universo C++ dispõe de incríveis projetos como o Folly, para ajudar em problemas do mundo real, contudo, preparar um ambiente com todas as dependências necessárias pode levar a uma tarefa demorada e cansativa muitas vezes.Embora Folly seja uma excelente ferramenta para o seu projeto, esta complexidade de 11 projetos relacionados como dependências transitivas, incluindo Boost regex, pode ser levada como fator para evitar o uso da mesma.
O caso do projeto Folly demonstra a importância de um gerente de dependências e pacotes como Conan para o ambiente de desenvolvimento C++ numa era moderna.
O projeto utilizado neste exemplo está disponível em: https://github.com/uilianries/conan-folly-example