aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-02-03 22:40:23 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2014-02-03 22:40:23 +0200
commit61db1037402fe291009e4c3d76723b14ac685e01 (patch)
tree3e66f767e61c3264689830fc64a358e5d69316a4
parentc61da0049cd93f02637fa9390509d137569b3806 (diff)
downloadmeson-61db1037402fe291009e4c3d76723b14ac685e01.zip
meson-61db1037402fe291009e4c3d76723b14ac685e01.tar.gz
meson-61db1037402fe291009e4c3d76723b14ac685e01.tar.bz2
Moc has completely changed its output format with Qt5 so support both.
-rw-r--r--dependencies.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/dependencies.py b/dependencies.py
index ef0aa49..8f157ae 100644
--- a/dependencies.py
+++ b/dependencies.py
@@ -424,9 +424,16 @@ class Qt5Dependency(Dependency):
if self.moc.found():
mp = subprocess.Popen([self.moc.get_command(), '-v'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- moc_ver = mp.communicate()[1].decode().strip()
- if 'Qt 5' not in moc_ver:
- raise DependencyException('Moc preprocessor is not for Qt 5. Output: %s' % moc_ver)
+ (stdout, stderr) = mp.communicate()
+ stdout = stdout.decode().strip()
+ stderr = stderr.decode().strip()
+ if 'Qt 5' in stderr:
+ moc_ver = stderr
+ elif '5.' in stdout:
+ moc_ver = stdout
+ else:
+ raise DependencyException('Moc preprocessor is not for Qt 5. Output:\n%s\n%s' %
+ (stdout, stderr))
mlog.log(' moc:', mlog.green('YES'), '(%s)' % moc_ver)
else:
mlog.log(' moc:', mlog.red('NO'))