Conan Recipe

These are notes for the process of getting a conan recipe for GNU Radio, the recipe is not yet fully functional

conanfile.py:

from conans import ConanFile, CMake from conans.tools import os_info, SystemPackageTool class PocoTimerConan(ConanFile): settings = "os", "compiler", "build_type", "arch" requires = ["boost/1.73.0", "gmp/6.1.2", "fftw/3.3.8", "zmq/4.2.5@bincrafters/stable", "doxygen/1.8.17", "swig/4.0.1", "log4cplus/2.0.4", "qt/5.15.0@bincrafters/stable", "xorg/system"] # had to add this, conan yelled at me for not having it   generators = "cmake"#, "gcc", "txt"

Stuff I had to do to get this to work:


 * conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
 * conan profile update settings.compiler.libcxx=libstdc++11 default
 * edit ~/.conan/conan.conf and uncomment the line sysrequires_mode = enabled

The build process is the same except you do
 * 1) conan install .. (which installs the dependencies and sets up cmake)
 * 2) cmake ..
 * 3) make
 * 4) make install

When the "conan install .." command runs, settings in ~/.conan/profiles/default file are applied, which might get fishy. you can also change stuff via cmd args "conan config install" is designed to share these settings/profiles with others

generate a pretty graph of dependency tree with: conan info .. --graph=file.html

Search for recipes in conan-center with: conan search "*xyz*" --remote=conan-center