diff --git a/pyproject.toml b/pyproject.toml index b2e83cd7..0e973dd2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -283,15 +283,32 @@ manylinux-aarch64-image = "manylinux_2_28" manylinux-ppc64le-image = "manylinux_2_28" manylinux-s390x-image = "manylinux_2_28" +# The mqt-core shared libraries are provided by the mqt-core Python package. +# They should not be vendorized into the mqt-qcec wheel. This requires +# excluding the shared libraries from the repair process. + [tool.cibuildwheel.linux] environment = { DEPLOY="ON" } +# The SOVERSION needs to be updated when the shared libraries are updated. +repair-wheel-command = """auditwheel repair -w {dest_dir} {wheel} \ +--exclude libmqt-core-ir.so.2.7 \ +--exclude libmqt-core-circuit-optimizer.so.2.7 \ +--exclude libmqt-core-algorithms.so.2.7 \ +--exclude libmqt-core-dd.so.2.7 \ +--exclude libmqt-core-zx.so.2.7""" [tool.cibuildwheel.macos] environment = { MACOSX_DEPLOYMENT_TARGET = "10.15" } +repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} --ignore-missing-dependencies" [tool.cibuildwheel.windows] -before-build = "pip install delvewheel>=1.7.3" -repair-wheel-command = "delvewheel repair -v -w {dest_dir} {wheel} --namespace-pkg mqt" +before-build = "uv pip install delvewheel>=1.9.0" +repair-wheel-command = """delvewheel repair -w {dest_dir} {wheel} --namespace-pkg mqt \ +--exclude mqt-core-ir.dll \ +--exclude mqt-core-circuit-optimizer.dll \ +--exclude mqt-core-algorithms.dll \ +--exclude mqt-core-dd.dll \ +--exclude mqt-core-zx.dll""" environment = { CMAKE_ARGS = "-T ClangCL" } [[tool.cibuildwheel.overrides]]