aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'build_scripts/main.py')
-rw-r--r--build_scripts/main.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/build_scripts/main.py b/build_scripts/main.py
index ad6cc04ad..0fec51a6a 100644
--- a/build_scripts/main.py
+++ b/build_scripts/main.py
@@ -201,20 +201,16 @@ if not os.path.exists(OPTION_CMAKE):
print("'{}' does not exist.".format(OPTION_CMAKE))
sys.exit(1)
-if sys.platform == "win32":
- if OPTION_MAKESPEC is None:
- OPTION_MAKESPEC = "msvc"
- if not OPTION_MAKESPEC in ["msvc", "mingw"]:
- print("Invalid option --make-spec. Available values are {}".format(
- ["msvc", "mingw"]))
- sys.exit(1)
-else:
- if OPTION_MAKESPEC is None:
- OPTION_MAKESPEC = "make"
- if not OPTION_MAKESPEC in ["make"]:
- print("Invalid option --make-spec. Available values are {}".format(
- ["make"]))
- sys.exit(1)
+# First element is default
+available_mkspecs = ["msvc", "mingw", "ninja"] if sys.platform == "win32" else ["make", "ninja"]
+
+if OPTION_MAKESPEC is None:
+ OPTION_MAKESPEC = available_mkspecs[0]
+
+if not OPTION_MAKESPEC in available_mkspecs:
+ print('Invalid option --make-spec "{}". Available values are {}'.format(
+ OPTION_MAKESPEC, available_mkspecs))
+ sys.exit(1)
if OPTION_JOBS:
if sys.platform == 'win32' and OPTION_NO_JOM:
@@ -491,6 +487,9 @@ class PysideBuild(_build):
elif OPTION_MAKESPEC == "mingw":
make_name = "mingw32-make"
make_generator = "MinGW Makefiles"
+ elif OPTION_MAKESPEC == "ninja":
+ make_name = "ninja"
+ make_generator = "Ninja"
else:
raise DistutilsSetupError(
"Invalid option --make-spec.")
@@ -1107,7 +1106,9 @@ class PysideBuild(_build):
log.info("Waiting 1 second, to ensure installation is "
"successful...")
time.sleep(1)
- if run_process([self.make_path, "install/fast"]) != 0:
+ # ninja: error: unknown target 'install/fast'
+ target = 'install/fast' if self.make_generator != 'Ninja' else 'install'
+ if run_process([self.make_path, target]) != 0:
raise DistutilsSetupError("Error pseudo installing {}".format(
extension))
else: