From 3fe5fcd7f7ca7a6ba4d9b6235bf74304aeaa8d3d Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 8 Nov 2016 23:45:31 +0530 Subject: qt4/qt5: Print a message when moc/uic/rcc aren't found Without this a strange exception is spewed that no one would be able to understand. Finding each of those compilers isn't a problem unless sources are specified that require those compilers, so only error out in those cases. Closes #758 --- mesonbuild/modules/qt4.py | 8 ++++++++ mesonbuild/modules/qt5.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/mesonbuild/modules/qt4.py b/mesonbuild/modules/qt4.py index b1d951bc4..1c5a0d106 100644 --- a/mesonbuild/modules/qt4.py +++ b/mesonbuild/modules/qt4.py @@ -115,7 +115,13 @@ class Qt4Module(): if not isinstance(srctmp, list): srctmp = [srctmp] sources = args[1:] + srctmp + err_msg = "{0} sources specified and couldn't find {1}, " \ + "please check your qt4 installation" + if len(moc_headers) + len(moc_sources) > 0 and not self.moc.found(): + raise MesonException(err_msg.format('MOC', 'moc-qt4')) if len(rcc_files) > 0: + if not self.rcc.found(): + raise MesonException(err_msg.format('RCC', 'rcc-qt4')) rcc_kwargs = {'output' : '@BASENAME@.cpp', 'arguments' : ['@INPUT@', '-o', '@OUTPUT@']} rcc_gen = build.Generator([self.rcc], rcc_kwargs) @@ -127,6 +133,8 @@ class Qt4Module(): [rcc_output.add_file(os.path.join(state.subdir, a)) for a in rcc_files] sources.append(rcc_output) if len(ui_files) > 0: + if not self.uic.found(): + raise MesonException(err_msg.format('UIC', 'uic-qt4')) ui_kwargs = {'output' : 'ui_@BASENAME@.h', 'arguments' : ['-o', '@OUTPUT@', '@INPUT@']} ui_gen = build.Generator([self.uic], ui_kwargs) diff --git a/mesonbuild/modules/qt5.py b/mesonbuild/modules/qt5.py index 9fffcff46..01e9df139 100644 --- a/mesonbuild/modules/qt5.py +++ b/mesonbuild/modules/qt5.py @@ -122,7 +122,13 @@ class Qt5Module(): if not isinstance(srctmp, list): srctmp = [srctmp] sources = args[1:] + srctmp + err_msg = "{0} sources specified and couldn't find {1}, " \ + "please check your qt5 installation" + if len(moc_headers) + len(moc_sources) > 0 and not self.moc.found(): + raise MesonException(err_msg.format('MOC', 'moc-qt5')) if len(rcc_files) > 0: + if not self.rcc.found(): + raise MesonException(err_msg.format('RCC', 'rcc-qt5')) qrc_deps = [] for i in rcc_files: qrc_deps += self.parse_qrc(state, i) @@ -137,6 +143,8 @@ class Qt5Module(): rcc_kwargs) sources.append(res_target) if len(ui_files) > 0: + if not self.uic.found(): + raise MesonException(err_msg.format('UIC', 'uic-qt5')) ui_kwargs = {'output' : 'ui_@BASENAME@.h', 'arguments' : ['-o', '@OUTPUT@', '@INPUT@']} ui_gen = build.Generator([self.uic], ui_kwargs) -- cgit v1.2.3