conan-io / conan

Conan - The open-source C and C++ package manager
https://conan.io
MIT License
8.3k stars 986 forks source link

[question] Build single conan recipe (for version-to-version comparison) #17212

Open zwillikon opened 1 month ago

zwillikon commented 1 month ago

What is your question?

Dear Conan devs,

I'm currently creating an ArchLinux PKGBUILD, for which I shall link to system libraries and not use the vendored ones. For that purpose I would like to compare the contents of the conan-built swig 4.1.1 to 4.2.1 and my distro's binary package.

How may I only built a single conan recipe like conan download -r swig/4.1.1 (wrong syntax)

without conanfile.txt and no intention to build a whole package?

PS: I'm using current dev master of conan.

Have you read the CONTRIBUTING guide?

memsharded commented 1 month ago

Hi @zwillikon

Thanks for your question.

I am afraid that I don't fully understand what you mean.

PS: I'm using current dev master of conan.

Please don't. The master branch of the source repo is not maintained. Use either the develop2 for bleeding-edge (maintainers mostly), or the recommended way to install and use conan is with pip install conan.

You can download packages without a conanfile.txt. The right syntax is something like:

$ conan download zlib/1.3.1 -r=conancenter

(In Conan2, please note that Conan 1 is deprecated)

zwillikon commented 1 month ago

Thank you for your answer.

PS: I'm using current dev master of conan.

I'm sorry, I do indeed use the default branch develop2.

My goal is not to download the recipe (getting it from https://github.com/conan-io/conan-center-index/tree/master/recipes/swig ), but to build it to compare the generated CMake files.

memsharded commented 1 month ago

I'm sorry, I do indeed use the default branch develop2.

Still, be aware that this branch is developers/maintainers, it can break at any time

My goal is not to download the recipe (getting it from https://github.com/conan-io/conan-center-index/tree/master/recipes/swig ), but to build it to compare the generated CMake files.

With conan download you can download whatever you want. If you specify the packge_id like:

$ conan download pkg/version:package_id -r=remote

Then you get the binary you want. But this is not normal operation, this would be mostly an advanced use case. In most cases you want to conan install --requires=mypkg/myversion.

but to build it to compare the generated CMake files.

Still not very clear what you want to do. Generated CMake files with CMakeDeps and CMakeToolchain generator happen only with conan install, not conan download.

memsharded commented 3 weeks ago

Hi @zwillikon

Any further question here? Thanks for your feedback.