Jonathan Drolet
Jonathan Drolet

Reputation: 3388

Rebuilding Conan package when dependency's option changes

I have a package foo with an option called option_a, which controls a defines to be used when compiling foo and its consumers.

I also have a package bar, having foo as a dependency.

Finally, I have an application which depends on bar and transitively depends on foo.

The problem I have is that if I change foo:option_a, I need to recompile bar with the updated defines, otherwise my compilation fails. How can I signify in bar's conanfile to include foo:option_a in its package_id, so that it recompiles of option_a changes?

Upvotes: 0

Views: 860

Answers (1)

uilianries
uilianries

Reputation: 3887

I strongly recommend reading Dependency Issues section in Conan Docs to understand how Conan ABI compatibility works, it will explain your case.

As solution, I recommend you using full transitive mode, also explained at same documentation page.

Why don't Conan solves it by default?

Backward compatibility for version 1.x. New package id modes have been created to solve new problems, when 1.0 was released the most general case was solved by semver_direct_mode.

Upvotes: 1

Related Questions