training
training copied to clipboard
[Feedback] Conan Advanced - Tools as build_requires
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.