forked from FEniCS/basix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
27 lines (21 loc) · 1.09 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[build-system]
requires = ["setuptools>=42", "wheel", "pybind11>=2.9.1", "cmake>=3.16", "scikit-build>=0.12"]
build-backend = "setuptools.build_meta"
[tool.cibuildwheel]
build = ["cp{37,38,39}-manylinux_x86_64", "cp{37,38,39}-manylinux_aarch64", "cp{37,38,39}-macosx_x86_64", "cp{38,39}-macosx_arm64"]
test-command = [
"cmake -G Ninja -DPython3_EXECUTABLE=$(which python) -B build-dir -S {project}/test/test_cmake",
"cmake --build build-dir/",
"build-dir/a.out",
"python -m pytest -v -n auto --durations 20 {project}/test/"
]
test-requires = ["pytest-xdist"]
test-extras = ["test"]
test-skip = "*-macosx_arm64 *-*linux_aarch64"
manylinux-x86_64-image = "manylinux2014"
[tool.cibuildwheel.linux]
archs = ["x86_64", "aarch64"] # Forces arm64 build on x86_64 runner using emulation.
before-build = "yum -y update && yum install -y epel-release && yum install -y openblas-devel ninja-build"
[tool.cibuildwheel.macos]
archs = ["x86_64", "arm64"] # Forces arm64 build on x86_64 runner using cross-compilation.
before-build = "export HOMEBREW_AUTO_UPDATING=0 && brew update && brew install ninja"