These are notes for the process of getting a conan recipe for GNU Radio, the recipe is not yet fully functional
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
- conan install .. (which installs the dependencies and sets up cmake)
- cmake ..
- 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