Merge "Re-create build directory if using existing one fails"
diff --git a/scripts/build/build.py b/scripts/build/build.py
index 7732e12..1f030fa 100644
--- a/scripts/build/build.py
+++ b/scripts/build/build.py
@@ -22,6 +22,7 @@
import os
import sys
+import shutil
from common import *
from config import *
@@ -39,12 +40,23 @@
os.makedirs(config.buildDir)
pushWorkingDir(config.getBuildDir())
- execute(["cmake", config.getSrcPath()] + cfgArgs)
- popWorkingDir()
+
+ try:
+ execute(["cmake", config.getSrcPath()] + cfgArgs)
+ finally:
+ popWorkingDir()
def build (config, generator, targets = None):
- # Initialize or update build dir.
- initBuildDir(config, generator)
+ if os.path.exists(config.buildDir):
+ try:
+ initBuildDir(config, generator)
+ except Exception as e:
+ print e
+ print "WARNING: Using existing build directory failed; re-creating build directory"
+ shutil.rmtree(config.buildDir)
+ initBuildDir(config, generator)
+ else:
+ initBuildDir(config, generator)
baseCmd = ['cmake', '--build', '.']
buildArgs = generator.getBuildArgs(config.getBuildType())