4 ms·
I didn't realize that a recipe was distinct from a package. In most systems there is only one concept: packages. So to see if I have this right: With Conan, t
by adgasf 8y ago
I didn't realize that a recipe was distinct from a package. In most systems there is only one concept: packages.
So to see if I have this right:
With Conan, to use a package from GitHub, I must download the recipe and add it to my local cache ("cache" seems like the wrong term here, maybe "registry" would be better?) and then I can install it?
What about the transitive dependencies? Do I need to repeat the process for each of those?
- simfoo 8y agoThere are no conan packages on Github, usually you can find recipes along (or separate) the sources. Yeah, the term conan "cache" may be a bit misleading, as it is not only a cache but really your "local remote". As soon as a recipe is in your cache, you can depend on it from your own recipes/conan builds. The actual building of the package may happen during the registration of the recipe or during resolve time when you depend on a certain package configuration. Any transitive dependencies will be resolved and, in case of --build missing, the packages will be built automatically according to the recipe. So no, you do not need to build any dependency packages (including transitive dependencies)
- entelechy 8y agoBut all those dependency packages will be resolved against a conan server not against the origin eg. github. Furthermore I'd need to put every version of the package into the conan cache. This is impractical if a complex dependency graph as it would require the user to solve a SAT problem just to determine which packages and versions to put into the conan cache to avoid pulling from the conan server.