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: 2.066 ]

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/[email protected]/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

Sinais em Linux

Linguagem C - Funções Variádicas

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

Bug afeta todas as distros

Programação de Jogos com SDL

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts