conan-io / conan-io/training

[Feedback] Conan Advanced - Tools as build_requires

Open
#45 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
63
Forks
38
PR merge metrics
No merged PRs in 30d

Description

The course suggests to avoid using in-recipe build_requires for common tools such as CMake and move them into profiles in order to leverage system-installed tools, while using exact versions of less common tools directly in the recipe.

While it's a bit off-topic to the course itself - It feels like it 'd produce an unsatisfactory user experience on both ends:
* For common tools, if the tool happen to not be present in the system, Conan will fail to build the package and will not help the user with a tip to include the tool into the profile.
* For less common tools, CCI encodes the exact version of a tool, meaning that users can exclude the tool from the recipe in a convenient way to use a tool in the system and they also have duplicated tools in the graph, because CCI forbids version ranges.

The reasoning in here feels a bit contradictionary to itself.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the Conan Advanced course guidance on tools as build_requires, profiles, system-installed tools, and exact tool versions in recipes. Compare the two recommendations and document a consistent explanation that addresses missing common tools, optional system tools, and duplicated tools in the dependency graph.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake
Domain
build-system, tooling
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.