Emit cppwinrt options file on failure (#451)
cppwinrt emits the file contents (formatted slightly better) itself when
it passes.
diff --git a/build/win/generate_winrt_headers.py b/build/win/generate_winrt_headers.py
index ff39774..cd252ad 100644
--- a/build/win/generate_winrt_headers.py
+++ b/build/win/generate_winrt_headers.py
@@ -64,6 +64,7 @@
outfile.write('-verbose\n')
outfile.close()
+
def generate_headers(options_file):
"""Run cppwinrt.exe with the specified options file to generate WinRT headers
in the output directory. Logs stderr to the console.
@@ -76,6 +77,14 @@
process = subprocess.Popen(args, stderr=subprocess.PIPE)
out, err = process.communicate()
print(err)
+
+ # On failure, emit the options file contents. On success, cppwinrt does so
+ # itself.
+ if process.returncode != 0:
+ print('cppwinrt header generation failed. Options file was:')
+ infile = open(options_file, 'r')
+ print(infile.read())
+ infile.close()
return process.returncode