aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-08-26 09:47:13 +0200
committerJussi Pakkanen <jussi.pakkanen@mailbox.org>2025-08-27 14:02:43 +0300
commite38545b00061dafddd601a1959946ab3a531ba13 (patch)
tree04e142dccee7d8d74a60192fd3d260ec844b1464
parent92590bb03487eac2624e29c8b040f76773b35c66 (diff)
downloadmeson-e38545b00061dafddd601a1959946ab3a531ba13.zip
meson-e38545b00061dafddd601a1959946ab3a531ba13.tar.gz
meson-e38545b00061dafddd601a1959946ab3a531ba13.tar.bz2
coredata: do not write None to cmd_line.txt
Fixes: #14955 Fixes: 37f7572ce15494654128184777b16ece38308b9a Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--mesonbuild/coredata.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 7c8c0c7..2a0cd11 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -654,7 +654,13 @@ def update_cmd_line_file(build_dir: str, options: SharedCMDOptions) -> None:
filename = get_cmd_line_file(build_dir)
config = CmdLineFileParser()
config.read(filename)
- config['options'].update({str(k): str(v) for k, v in options.cmd_line_options.items()})
+ for k, v in options.cmd_line_options.items():
+ keystr = str(k)
+ if v is not None:
+ config['options'][keystr] = str(v)
+ elif keystr in config['options']:
+ del config['options'][keystr]
+
with open(filename, 'w', encoding='utf-8') as f:
config.write(f)