diff --git a/mesonbuild/scripts/meson_exe.py b/mesonbuild/scripts/meson_exe.py index 3fe327f4b..c1d0d64e9 100644 --- a/mesonbuild/scripts/meson_exe.py +++ b/mesonbuild/scripts/meson_exe.py @@ -84,8 +84,15 @@ def run_exe(exe): raise FileNotFoundError('Missing DLLs on calling {!r}'.format(exe.name)) if exe.capture and p.returncode == 0: - with open(exe.capture, 'wb') as output: - output.write(stdout) + skip_write = False + try: + with open(exe.capture, 'rb') as cur: + skip_write = cur.read() == stdout + except IOError: + pass + if not skip_write: + with open(exe.capture, 'wb') as output: + output.write(stdout) else: sys.stdout.buffer.write(stdout) if stderr: