* dependency update * revert BUILD_SHARED_LIBS changes * test * . * don't try weird stuff with windows * update * update CI
79 lines
2.4 KiB
TOML
79 lines
2.4 KiB
TOML
[project]
|
|
name = "manifold3d"
|
|
version = "2.2.0"
|
|
authors = [
|
|
{ name="Emmett Lalish", email="elalish@gmail.com" },
|
|
]
|
|
description = "Library for geometric robustness"
|
|
readme = "README.md"
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: C++",
|
|
"Topic :: Multimedia :: Graphics :: 3D Modeling",
|
|
]
|
|
requires-python = ">=3.8"
|
|
|
|
dependencies = [
|
|
"numpy; python_version<'3.12'",
|
|
"numpy>=1.26.0b1; python_version>='3.12'"
|
|
]
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://github.com/elalish/manifold"
|
|
"Bug Tracker" = "https://github.com/elalish/manifold/issues"
|
|
|
|
[build-system]
|
|
requires = ["scikit-build-core"]
|
|
build-backend = "scikit_build_core.build"
|
|
|
|
[tool.scikit-build]
|
|
cmake.minimum-version = "3.18"
|
|
sdist.exclude = [
|
|
".github",
|
|
"bindings/c",
|
|
"bindings/wasm",
|
|
"docs",
|
|
"extras",
|
|
"meshIO",
|
|
"samples",
|
|
"test",
|
|
"oneTBB", # we may have this when we build with cibuildwheel
|
|
"bindings/python/third_party/nanobind/tests/",
|
|
"bindings/python/third_party/nanobind/docs/",
|
|
"src/third_party/clipper2/CPP/Examples/",
|
|
"src/third_party/clipper2/CPP/Tests/",
|
|
"src/third_party/clipper2/CSharp/",
|
|
"src/third_party/clipper2/Delphi/",
|
|
"src/third_party/clipper2/DLL/",
|
|
"src/third_party/clipper2/Tests/",
|
|
]
|
|
wheel.packages = ["manifold3d"]
|
|
cmake.args = ["-DMANIFOLD_PAR=TBB", "-DMANIFOLD_TEST=OFF"]
|
|
install.components = ["bindings"]
|
|
|
|
[tool.cibuildwheel]
|
|
build-frontend = "build"
|
|
test-requires = ["trimesh"]
|
|
test-command = "python {project}/bindings/python/examples/run_all.py"
|
|
# Setuptools bug causes collision between pypy and cpython artifacts
|
|
manylinux-x86_64-image = "manylinux_2_28"
|
|
musllinux-x86_64-image = "musllinux_1_2"
|
|
skip = ["*-win32", "*_i686", "pp*", "*-musllinux*"]
|
|
|
|
# only clone TBB once
|
|
before-all = "git clone --depth 1 --branch v2021.10.0 https://github.com/oneapi-src/oneTBB.git"
|
|
[tool.cibuildwheel.config-settings]
|
|
"cmake.define.FETCHCONTENT_SOURCE_DIR_TBB" = "./oneTBB"
|
|
"cmake.define.FETCHCONTENT_UPDATES_DISCONNECTED" = "ON"
|
|
|
|
[tool.cibuildwheel.macos]
|
|
archs = ["x86_64", "arm64"]
|
|
environment = "MACOSX_DEPLOYMENT_TARGET=10.14"
|
|
test-skip = "*-macosx_arm64 *-macosx_universal2:arm64"
|
|
|
|
[tool.cibuildwheel.windows]
|
|
before-build = "pip install delvewheel"
|
|
repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel}"
|