-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
78 lines (71 loc) · 2.39 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[build-system]
requires = ["scikit-build-core-conan>=0.3.1", "pybind11>=2.13.1", "mypy>=1.11.1"]
build-backend = "scikit_build_core_conan.build"
[project]
name = "WallGoCollision"
description = "Python bindings for WallGo Collision module"
readme = {file = "README.md", content-type = "text/markdown"}
license = {text = "GPL 3.0"}
# get version from Github using setuptools_scm
dynamic = ["version"]
requires-python = ">=3.10"
[project.optional-dependencies]
tests = [
"pytest>=7.2.2",
]
docs = [
"myst_parser",
"sphinx",
"sphinx-rtd-theme",
"sphinxcontrib-bibtex",
]
[tool.scikit-build]
minimum-version = "0.10"
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
# Source distribution includes/excludes
sdist.include = [
"python/packagedata/WallGoCollision/_version.py",
]
sdist.exclude = [
".gitattributes",
".gitignore",
".github",
".readthedocs.yml",
"old"
]
#
build.verbose = false
cmake.build-type = "Release"
# Run cmake before building wheel
wheel.cmake = true
# Include files from these dirs in the wheel (__init__.py etc)
wheel.packages = ["python/packagedata/WallGoCollision"]
wheel.exclude = ["__pycache__/*"]
[tool.setuptools_scm]
write_to = "python/packagedata/WallGoCollision/_version.py"
# Increments version if commit is ahead of the last tag
version_scheme = "guess-next-dev"
[tool.scikit-build.cmake.define]
BUILD_PYTHON_MODULE = "ON"
USE_OMP = "ON"
# Disable compilation of CPP specific examples
BUILD_EXAMPLES = "OFF"
# Use env variable to mandate OpenMP during build. Used with cibuildwheel so that we don't accidentally build wheels without OMP
REQUIRE_OMP = {env="WALLGO_REQUIRE_OMP", default="OFF"}
[tool.scikit-build-core-conan]
build = "missing"
[tool.cibuildwheel]
test-requires = "pytest"
test-command = "pytest {project}/python/tests"
# verbosity=1 corresponds to -v in pip
build-verbosity = 1
# Always require OMP with cibuildwheel. See cmake.defines above
environment = "WALLGO_REQUIRE_OMP=ON"
# Require at least macOS 11 since the default 10.9 is too low for some C++17 features
macos.environment = {WALLGO_USE_CONAN_OMP="1", MACOSX_DEPLOYMENT_TARGET="11.0"}
# Only do 64bit manylinux archs for now, some 32bit manylinux archs have issues obtaining CMake during build
linux.archs = ["auto64"]
macos.archs = ["auto"]
windows.archs = ["auto64"]
# skip musllinux because the gsl recipe from conan failed to compile on them
skip = "*musllinux_*"