@@ -100,7 +100,15 @@ jobs:
100100 CIBW_AFTER_BUILD : >-
101101 twine check {wheel} &&
102102 python {package}/ci/check_wheel_licenses.py {wheel}
103- CIBW_CONFIG_SETTINGS : setup-args="--vsenv"
103+ # On Windows, we explicitly request MSVC compilers (as GitHub Action runners have
104+ # MinGW on PATH that would be picked otherwise), switch to a static build for
105+ # runtimes, but use dynamic linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`,
106+ # and the UCRT. This avoids requiring specific versions of `MSVCP140.dll`, while
107+ # keeping shared state with the rest of the Python process/extensions.
108+ CIBW_CONFIG_SETTINGS_WINDOWS : >-
109+ setup-args="--vsenv"
110+ setup-args="-Db_vscrt=mt"
111+ setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
104112 CIBW_MANYLINUX_X86_64_IMAGE : manylinux2014
105113 CIBW_SKIP : " *-musllinux_aarch64"
106114 CIBW_TEST_COMMAND : >-
@@ -144,7 +152,6 @@ jobs:
144152 CIBW_SKIP : " cp313t-win_amd64 *-musllinux_aarch64"
145153 CIBW_BUILD_FRONTEND :
146154 " pip; args: --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
147- CIBW_PRERELEASE_PYTHONS : true
148155 CIBW_FREE_THREADED_SUPPORT : true
149156 # No free-threading wheels available for aarch64 on Pillow.
150157 CIBW_TEST_SKIP : " cp313t-manylinux_aarch64"
0 commit comments