Conan Recipe: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
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" | |||
Line 18: | Line 24: | ||
* conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan | * conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan | ||
* conan profile update settings.compiler.libcxx=libstdc++11 default | * 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 | The build process is the same except you do | ||
conan install .. (which installs the dependencies and sets up cmake) | # conan install .. (which installs the dependencies and sets up cmake) | ||
cmake .. | # cmake .. | ||
make | # make | ||
make install | # 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 | 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 | ||
Line 29: | Line 36: | ||
generate a pretty graph of dependency tree with: | generate a pretty graph of dependency tree with: | ||
conan info .. --graph=file.html | conan info .. --graph=file.html | ||
Search for recipes in conan-center with: | Search for recipes in conan-center with: | ||
conan search "*xyz*" --remote=conan-center | conan search "*xyz*" --remote=conan-center |
Latest revision as of 04:58, 27 July 2020
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
- conan install .. (which installs the dependencies and sets up cmake)
- cmake ..
- make
- 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