Skip to content

Conversation

@kammce
Copy link
Member

@kammce kammce commented Dec 8, 2025

Move cmake and ninja from conanfile.py tool_requires to profile-level dependencies to avoid transitive dependency propagation issues.

Changes:

  • Remove require_cmake and require_ninja options from conanfile.py
  • Remove build_requirements() method entirely
  • Simplify package_info() to unconditionally enable C++ modules support
  • Update package_id() to remove deleted option references
  • Update README.md to document cmake/ninja as profile requirements
  • Add example profile showing cmake, ninja, and Ninja generator config

Benefits:

  • Eliminates transitive dependency conflicts with visible=True
  • Provides better separation of concerns (toolchain vs build tools)
  • Gives users full control over cmake/ninja versions via profiles
  • Follows Conan 2.x best practices for tool requirements
  • Maintains C++20 modules support without conditional logic

Breaking change: Users must now include cmake and ninja in their profiles if needed. All provided profiles have been updated accordingly.

🤖 Generated with Claude Code

Move cmake and ninja from conanfile.py tool_requires to profile-level
dependencies to avoid transitive dependency propagation issues.

Changes:
- Remove require_cmake and require_ninja options from conanfile.py
- Remove build_requirements() method entirely
- Simplify package_info() to unconditionally enable C++ modules support
- Update package_id() to remove deleted option references
- Update README.md to document cmake/ninja as profile requirements
- Add example profile showing cmake, ninja, and Ninja generator config

Benefits:
- Eliminates transitive dependency conflicts with visible=True
- Provides better separation of concerns (toolchain vs build tools)
- Gives users full control over cmake/ninja versions via profiles
- Follows Conan 2.x best practices for tool requirements
- Maintains C++20 modules support without conditional logic

Breaking change: Users must now include cmake and ninja in their
profiles if needed. All provided profiles have been updated accordingly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@kammce kammce merged commit 465124b into main Dec 8, 2025
13 checks passed
@kammce kammce deleted the remove-transitive-build branch December 8, 2025 02:37
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.

2 participants