From d368c4f96e51d26ea358d131baab7fdb45be06ba Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 13 May 2021 07:48:08 +0530 Subject: [PATCH] Dont chdir as part of sip-build command Instead chdir overall, makes the command simpler. --- setup/build.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/setup/build.py b/setup/build.py index 6bd9b43452..f183a93655 100644 --- a/setup/build.py +++ b/setup/build.py @@ -333,10 +333,10 @@ class Build(Command): jobs = [] sbf_map = {} for (ext, dest) in pyqt_extensions: - cmd, sbf = self.get_sip_commands(ext) + cmd, sbf, cwd = self.get_sip_commands(ext) sbf_map[id(ext)] = sbf if cmd is not None: - jobs.append(create_job(cmd)) + jobs.append(create_job(cmd, cwd=cwd)) if jobs: self.info(f'SIPing {len(jobs)} files...') if not parallel_build(jobs, self.info): @@ -523,16 +523,18 @@ sip-file = "{os.path.basename(sipf)}" sipf = ext.sip_files[0] sbf = self.j(src_dir, self.b(sipf)+'.sbf') cmd = None + cwd = None if self.newer(sbf, [sipf] + ext.headers + ext.sources): shutil.rmtree(src_dir, ignore_errors=True) os.makedirs(src_dir) self.create_sip_build_skeleton(src_dir, ext) + cwd = src_dir cmd = [ sys.executable, '-c', - f'''import os; os.chdir({src_dir!r}); from sipbuild.tools.build import main; main();''', + '''from sipbuild.tools.build import main; main();''', '--verbose', '--no-make', '--qmake', QMAKE ] - return cmd, sbf + return cmd, sbf, cwd def build_pyqt_extension(self, ext, dest, sbf): self.info(f'\n####### Building {ext.name} extension', '#'*7)