aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'build_scripts/utils.py')
-rw-r--r--build_scripts/utils.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/build_scripts/utils.py b/build_scripts/utils.py
index af40916b7..2dffd345c 100644
--- a/build_scripts/utils.py
+++ b/build_scripts/utils.py
@@ -409,7 +409,7 @@ def make_file_writable_by_owner(path):
current_permissions = stat.S_IMODE(os.lstat(path).st_mode)
os.chmod(path, current_permissions | stat.S_IWUSR)
-def rmtree(dirname):
+def rmtree(dirname, ignore=False):
def handleRemoveReadonly(func, path, exc):
excvalue = exc[1]
if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
@@ -417,7 +417,7 @@ def rmtree(dirname):
func(path)
else:
raise
- shutil.rmtree(dirname, ignore_errors=False, onerror=handleRemoveReadonly)
+ shutil.rmtree(dirname, ignore_errors=ignore, onerror=handleRemoveReadonly)
def run_process_output(args, initial_env=None):
if initial_env is None:
@@ -1081,3 +1081,39 @@ def get_python_dict(python_script_path):
print("get_python_dict: Couldn't get dict from python "
"file: {}.".format(python_script_path))
raise
+
+def install_pip_dependencies(env_pip, packages):
+ for p in packages:
+ run_instruction([env_pip, "install", p], "Failed to install " + p)
+
+def get_qtci_virtualEnv(python_ver, host, hostArch, targetArch):
+ _pExe = "python"
+ _env = "env" + str(python_ver)
+ env_python = _env + "/bin/python"
+ env_pip = _env + "/bin/pip"
+
+ if host == "Windows":
+ print("New virtualenv to build " + targetArch + " in " + hostArch + " host.")
+ _pExe = "python.exe"
+ # With windows we are creating building 32-bit target in 64-bit host
+ if hostArch == "X86_64" and targetArch == "X86":
+ if python_ver == "3":
+ _pExe = os.path.join(os.getenv("PYTHON3_32_PATH"), "python.exe")
+ else:
+ _pExe = os.path.join(os.getenv("PYTHON2_32_PATH"), "python.exe")
+ else:
+ if python_ver == "3":
+ _pExe = os.path.join(os.getenv("PYTHON3_PATH"), "python.exe")
+ env_python = _env + "\\Scripts\\python.exe"
+ env_pip = _env + "\\Scripts\\pip.exe"
+ else:
+ if python_ver == "3":
+ _pExe = "python3"
+ return(_pExe, _env, env_pip, env_python)
+
+def run_instruction(instruction, error):
+ print("Running Coin instruction: " + ' '.join(str(e) for e in instruction))
+ result = subprocess.call(instruction)
+ if result != 0:
+ print("ERROR : " + error)
+ exit(result)