# Warning: this is currently used to test cross-compilation, and is not a general
# out-of-tree builder for the tests (yet). Specifically, wheels can't be built from
# SDists.

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

[project]
name = "pybind11_tests"
version = "0.0.1"
dependencies = ["pytest", "pytest-timeout"]


[dependency-groups]
numpy = ["numpy"]
scipy = ["scipy"]


[tool.scikit-build]
build.verbose = true
logging.level = "INFO"

[tool.scikit-build.cmake.define]
PYBIND11_FINDPYTHON = true


[tool.cibuildwheel]
test-sources = ["tests", "pyproject.toml"]
test-command = "python -m pytest -v -o timeout=120 -p no:cacheprovider tests"
# Pyodide doesn't have signal.setitimer, so pytest-timeout can't work with timeout > 0
pyodide.test-command = "python -m pytest -v -o timeout=0 -p no:cacheprovider tests"
environment.PIP_ONLY_BINARY = "numpy"
environment.PIP_PREFER_BINARY = "1"

android.environment.ANDROID_API_LEVEL = "24"  # Needed to include libc++ in the wheel.
pyodide.test-groups = ["numpy", "scipy"]
ios.test-groups = ["numpy"]
ios.xbuild-tools = ["cmake", "ninja"]
ios.environment.PIP_EXTRA_INDEX_URL = "https://pypi.anaconda.org/beeware/simple"
