Skip to content

Commit 16db7a3

Browse files
committed
Conan Doc Folder
1 parent fa41749 commit 16db7a3

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Configuration
2+
3+
```toml
4+
[tool.cppython.plugins.conan]
5+
remotes = ["remote-name"] # Optional: remotes for publishing
6+
skip_upload = false # Optional: skip upload during publish
7+
```

docs/plugins/conan/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Conan Plugin
2+
3+
The Conan plugin integrates with the Conan C++ package manager for dependency management and package publishing.

docs/plugins/conan/integration.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Conanfile Integration
2+
3+
CPPython uses a dual-file approach.
4+
5+
## `conanfile_base.py` - Auto-generated
6+
7+
**Auto-generated** from your `pyproject.toml` dependencies. **Do not edit manually** - regenerated on every install/update/publish.
8+
9+
Contains a `CPPythonBase` class with dependencies from `[tool.cppython.dependencies]` and test dependencies from `[tool.cppython.dependency-groups.test]`.
10+
11+
## `conanfile.py` - User-customizable
12+
13+
**Created once** if it doesn't exist, then **never modified** by CPPython. Inherits from `CPPythonBase`.
14+
15+
You can customize this file for package metadata like name, version, and settings, additional dependencies beyond `pyproject.toml`, build configuration and CMake integration, and package and export logic.
16+
17+
**Key requirement** - Always call `super().requirements()` and `super().build_requirements()` to inherit managed dependencies.
18+
19+
## Workflow
20+
21+
- First run - Both files are generated
22+
- Subsequent runs - Only `conanfile_base.py` is regenerated; `conanfile.py` is preserved
23+
- Adding dependencies - Update `pyproject.toml` and run `cppython install`
24+
25+
## Migrating Existing Projects
26+
27+
If you have an existing `conanfile.py`, follow these steps.
28+
29+
**TODO**

0 commit comments

Comments
 (0)