Skip to content

Fix build order transitive options - #20331

Merged
memsharded merged 10 commits into
conan-io:develop2from
memsharded:fix-build-order-transitive-options
Sep 24, 2026
Merged

memsharded merged 10 commits into
conan-io:develop2from
memsharded:fix-build-order-transitive-options

Conversation

@memsharded

@memsharded memsharded commented Sep 10, 2026 •

Copy link
Copy Markdown
Member

Changelog: Bugfix: Fix computation of options in the conan graph build-order command
Docs: Omit

Counter examples for #20315 PR (Close #20315)
Close #20314

@memsharded

memsharded commented Sep 11, 2026 •

Copy link
Copy Markdown
Member Author

Hi @AnastaZIuk

It seems this is way more challenging than what we initially thought. I have been finding more corner cases, adding more tests and trying to complete the implementation, but not happy about it yet, so this will require more time.

At the core of this issue lies the recommendation in https://docs.conan.io/2/knowledge/faq.html#defining-options-for-dependencies-in-conanfile-py-recipes-doesn-t-work:

So in general, defining options values for dependencies in recipes is discouraged. 
The strongly recommended way to define options values for dependencies is in profile files.

Defining options values in recipes introduce a data locality that makes the computation of partial parts of the dependency graph very challenging. This is why defining options values that deviate from the defaults in profiles is way simpler and more robust, I'd recommend doing that while we keep working on this, because this might take more time than expected. Thanks!

@memsharded memsharded added this to the 2.33.0 milestone Sep 22, 2026
@memsharded
memsharded marked this pull request as ready for review September 24, 2026 12:50
@memsharded
memsharded merged commit 2e6868f into conan-io:develop2 Sep 24, 2026
20 checks passed
@memsharded
memsharded deleted the fix-build-order-transitive-options branch September 24, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] graph build-order build_args do not reproduce transitive dependency options

3 participants