From 68040a2803a2c3a390e5c5442f9d6ef05c2a210e Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 31 Aug 2026 20:48:17 +0300 Subject: [PATCH] =?UTF-8?q?fix(protocan):=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D1=8C=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=20MSVC=20=D0=B8?= =?UTF-8?q?=D0=B7=20host=20builder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- c/protocan-transport/tools/build_host.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/c/protocan-transport/tools/build_host.py b/c/protocan-transport/tools/build_host.py index 8281bdb..bf043ac 100644 --- a/c/protocan-transport/tools/build_host.py +++ b/c/protocan-transport/tools/build_host.py @@ -51,9 +51,11 @@ def _build_msvc(output: Path, build_dir: Path) -> None: command = ( f'call "{vcvars}" && cl /nologo /W4 /std:c11 ' f'/DPCAN_ABI_BUILD_DLL /I"{INCLUDE}" /LD {quoted_sources} ' - f'/Fe:"{output}"' + f'/Fe"{output}"' ) - subprocess.run(["cmd.exe", "/d", "/c", command], cwd=build_dir, check=True) + # shell=True is intentional on Windows: ``call`` must run the batch file + # in the same cmd.exe process that subsequently launches cl.exe. + subprocess.run(command, cwd=build_dir, check=True, shell=True) def _build_cc(output: Path, build_dir: Path) -> None: