Skip to content

Commit 7667f0b

Browse files
committed
Enable Stable ABI wheels
1 parent e702ad0 commit 7667f0b

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ if(BUILD_MQT_QUSAT_BINDINGS)
2121
# ensure that the BINDINGS option is set
2222
set(BINDINGS
2323
ON
24-
CACHE BOOL "Enable settings related to Python bindings" FORCE)
25-
# cmake-lint: disable=C0103
24+
CACHE INTERNAL "Enable settings related to Python bindings")
25+
# Some common settings for finding Python
2626
set(Python_FIND_VIRTUALENV
2727
FIRST
2828
CACHE STRING "Give precedence to virtualenvs when searching for Python")
29-
# cmake-lint: disable=C0103
29+
set(Python_FIND_FRAMEWORK
30+
LAST
31+
CACHE STRING "Prefer Brew/Conda to Apple framework Python")
3032
set(Python_ARTIFACTS_INTERACTIVE
3133
ON
3234
CACHE BOOL "Prevent multiple searches for Python and instead cache the results.")
@@ -37,7 +39,8 @@ if(BUILD_MQT_QUSAT_BINDINGS)
3739
endif()
3840

3941
# top-level call to find Python
40-
find_package(Python 3.10 REQUIRED COMPONENTS Interpreter Development.Module)
42+
find_package(Python 3.10 REQUIRED COMPONENTS Interpreter Development.Module
43+
${SKBUILD_SABI_COMPONENT})
4144
endif()
4245

4346
# Add path for custom modules

pyproject.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ wheel.install-dir = "mqt/qusat"
6363
# Explicitly set the package directory
6464
wheel.packages = ["python/mqt"]
6565

66+
# Enable Stable ABI builds for CPython 3.12+
67+
wheel.py-api = "cp312"
68+
6669
# Set required Ninja version
6770
ninja.version = ">=1.10"
6871

@@ -309,6 +312,11 @@ repair-wheel-command = """delvewheel repair -w {dest_dir} {wheel} --namespace-pk
309312
--exclude mqt-core-qasm.dll \
310313
--exclude mqt-core-circuit-optimizer.dll"""
311314

315+
[[tool.cibuildwheel.overrides]]
316+
select = "cp312-*"
317+
inherit.repair-wheel-command = "append"
318+
repair-wheel-command = "uvx abi3audit --strict --report {wheel}"
319+
312320

313321
[tool.uv]
314322
required-version = ">=0.6.9"

0 commit comments

Comments
 (0)