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.

[ Hits: 3.132 ]

Por: Uilian Ries em 03/12/2018 | Blog: https://uilianries.github.io


Conan para o resgate



Assim como Conan, o bárbaro, Conan o gerente de pacotes C++ também é capaz de realizar magias para resolver qualquer dependência. Para que tais dependências possam ser resolvidas, uma receita conanfile.txt deverá ser criada com a seguinte descrição:

[requires]
folly/2018.11.12.00@bincrafters/stable

[generators]
cmake

A receita expressa quais são os requerimentos para o nosso projeto, neste caso apenas o projeto Folly, distribuído na versão 2018.11.12.00, pelo grupo Bincrafters [1], no seu canal estável. Como estamos utilizando CMake para construir o nosso projeto, precisamos avisar o Conan para gerar um arquivo cmake com todos as configurações necessárias para poder importar Folly.

E as 11 dependências listadas pela Folly? Todas as dependências transitivas serão resolvidas automaticamente pelo Conan!

Infelizmente o CMake não é capaz de resolver todas as dependências extras requeridas através de Folly, por isso será necessário utilizar o Conan junto ao CMake para declarar os complementos extras. Vamos atualizar o nosso arquivo CMakeLists.txt já declarado anteriormente:

cmake_minimum_required(VERSION 3.1.3)
project(folly_example CXX)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)

add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} CONAN_PKG::folly)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14)

Como pode ser observado, a rotina "find_package" foi substituída pela função "conan_basic_setup". Essa função será encarregada de configurar todas as definições necessárias, incluindo os caminhos para os arquivos de cabeçalhos e bibliotecas. O arquivo conanbuildinfo.cmake é gerado pelo Conan, uma vez que o gerador definido seja do tipo cmake. O target CONAN_PKG::folly, gerado pelo Conan, possui o projeto Folly, além de todas as bibliotecas listadas como dependências.

[1] https://bintray.com/bincrafters/public-conan/folly%3Abincrafters

Página anterior     Próxima página

Páginas do artigo
   1. O que é Folly
   2. Conan para o resgate
   3. Construindo o projeto
Outros artigos deste autor

Gerenciando pacotes para C/C++ com Conan

Leitura recomendada

Alocação dinâmica

Algum humor e C++ Design Patterns (parte 1)

Bug afeta todas as distros

Alocação dinâmica de memória em C

Linguagem C - Funções Variádicas

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts