From d4567a125588160d7bf0517d27000b26788580ad Mon Sep 17 00:00:00 2001 From: Mathias Soeken Date: Wed, 14 Nov 2018 11:11:25 -0800 Subject: [PATCH] Fix `echo` command for Windows. --- scripts/mk_util.py | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/scripts/mk_util.py b/scripts/mk_util.py index cfcf78538..472da8595 100644 --- a/scripts/mk_util.py +++ b/scripts/mk_util.py @@ -2396,27 +2396,35 @@ class DotNetExampleComponent(ExampleComponent): for csfile in get_cs_files(self.ex_dir): out.write(' ') out.write(os.path.join(self.to_ex_dir, csfile)) + + def mk_echo(msg): + echo_ex_qu = '' if IS_WINDOWS else '"' + echo_in_qu = '"' if IS_WINDOWS else '\\"' + echo_esc = '^' if IS_WINDOWS else '' + + msg = msg.replace('"', echo_in_qu).replace('<', echo_esc + '<').replace('>', echo_esc + '>') + out.write('\t@echo %s%s%s > %s\n' % (echo_ex_qu, msg, echo_ex_qu, proj_name)) + out.write('\n') - out.write('\t@echo "" > %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo " Exe" >> %s\n' % proj_name) - out.write('\t@echo " netcoreapp2.0" >> %s\n' % proj_name) - out.write('\t@echo " ') + mk_echo('') + mk_echo(' ') + mk_echo(' Exe') + mk_echo(' netcoreapp2.0') if VS_X64: - out.write('x64') + platform = 'x64' elif VS_ARM: - out.write('ARM') + platform = 'ARM' else: - out.write('x86') - out.write('" >> %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % (self.to_ex_dir, proj_name)) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo " Microsoft.Z3.dll" >> %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo " " >> %s\n' % proj_name) - out.write('\t@echo "" >> %s\n' % proj_name) + platform = 'x86' + mk_echo(' %s' % platform) + mk_echo(' ') + mk_echo(' ') + mk_echo(' ' % self.to_ex_dir) + mk_echo(' ') + mk_echo(' Microsoft.Z3.dll') + mk_echo(' ') + mk_echo('') dotnetCmdLine = [DOTNET, "build", proj_name] dotnetCmdLine.extend(['-c'])