Metadata-Version: 2.4
Name: scikit-build-core-conan
Version: 0.8.0
Summary: A conan plugin for scikit-build-core
Project-URL: Homepage, https://github.com/wu-vincent/scikit-build-core-conan
Project-URL: Issues, https://github.com/wu-vincent/scikit-build-core-conan/issues
Author-email: Zhengyu Wu <zhengyu.wu21@imperial.ac.uk>
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Build Tools
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: conan>=2.11.0
Requires-Dist: scikit-build-core>=0.10.0
Requires-Dist: tomli; python_version < '3.11'
Provides-Extra: pyproject
Provides-Extra: test
Requires-Dist: build>=0.8; extra == 'test'
Requires-Dist: cattrs>=22.2.0; extra == 'test'
Requires-Dist: pytest-subprocess>=1.5; extra == 'test'
Requires-Dist: pytest-xdist>=3.1; extra == 'test'
Requires-Dist: pytest>=7.2; extra == 'test'
Requires-Dist: setuptools; extra == 'test'
Requires-Dist: virtualenv>=20.20; extra == 'test'
Requires-Dist: wheel>=0.40; extra == 'test'
Description-Content-Type: text/markdown

# scikit-build-core-conan

A conan plugin for scikit-build-core

> [!NOTE]
> This project is under early development. Should you encounter any problems, please feel free to open an issue.

## Example

To use `scikit-build-core-conan`, add it to your `build-system.requires`, and specify
the `scikit_build_core_conan.build` builder as your `build-system.build-backend`. You do not need to
specify `scikit_build_core` as it will be required automatically.

Here's a simple example on how you can use `scikit-build-core-conan` in your `pyproject.toml`.

```toml

[build-system]
requires = ["scikit-build-core-conan"]
build-backend = "scikit_build_core_conan.build"

[project]
name = "scikit_build_conan_simplest"
version = "0.0.1"
```

## Configuration

All configuration These options can be placed directly in the `pyproject.toml` file. They can also be passed via
`-C/--config-setting` in build or `-C/--config-settings` in `pip`.

A quick summary and some defaults are listed below:

```toml
[tool.scikit-build-core-conan]
# Path to a folder containing a recipe (conanfile.py or conanfile.txt)
path = "."

# Specify which packages to build from source
build = "missing"

# Look in the specified remote or remotes server. Leave it empty will use all remotes.
remote = []

# Do not use remote, resolve exclusively in the cache
no-remote = false

# Apply the specified profile to the host (default) context
profile = ""

# Apply the specified profile to the build context
profile-build = ""

# Apply the specified profile to both contexts
profile-all = ""

# Apply the specified options to the host (default) context
options = []

# Apply the specified options to the build context
options-build = []

# Apply the specified options to both contexts
options-all = []

# Apply the specified settings to the host (default) context
settings = []

# Apply the specified settings to the build context
settings-build = []

# Apply the specified settings to both contexts
settings-all = []

# Apply the specified config to the host (default) context
config = []

# Apply the specified config to the build context
config-build = []

# Apply the specified config to both contexts
config-all = []

# Generators to use (e.g. Ninja)
generator = ""

# The root output folder for generated and build files
output-folder = ""
```

### Local recipes

Sometimes you may want to consume a local recipe rather than from the conan centre index. You can do this like this:

```toml
[[tool.scikit-build-core-conan.local-recipes]]
path = "path/to/recipe"
name = "recipe"   # optional: package name if not specified in conanfile
version = "0.0.1" # optional: package version if not specified in conanfile
```

### Overrides

`scikit-build-core-conan` uses the same override system as `scikit-build-core`. For more details, check out the
[documentation](https://scikit-build-core.readthedocs.io/en/latest/configuration/overrides.html) of `scikit-build-core`.

For example:

```toml
[[tool.scikit-build-core-conan.overrides]]
if.platform-system = "linux"
profile = "path/to/profile"
```

## Projects using this build backend:

- **[endstone](https://github.com/EndstoneMC/endstone)**: A high-level plugin api for Minecraft: Bedrock Edition
  Dedicated Servers.
