aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/qt.py
diff options
context:
space:
mode:
authorAlexis Jeandet <alexis.jeandet@member.fsf.org>2017-11-23 01:42:49 +0100
committerAlexis Jeandet <alexis.jeandet@member.fsf.org>2017-11-23 07:09:07 +0100
commit5c5eac357199092a1766bc43ce46bd7483451e74 (patch)
treec2d2cb035ab0d5e720ecec06623e2567b53bbb5a /mesonbuild/modules/qt.py
parent1fd743e6adbb04fc0d75ac21908a108c3483dc80 (diff)
downloadmeson-5c5eac357199092a1766bc43ce46bd7483451e74.zip
meson-5c5eac357199092a1766bc43ce46bd7483451e74.tar.gz
meson-5c5eac357199092a1766bc43ce46bd7483451e74.tar.bz2
[Qt module] Added translation files compilation method
- Added a new compile_translations method since preprocess was already quite full and translations compilation is quite different from ui, qrc, cpp files preprocessing. - Updated translation. - Updated test case. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Diffstat (limited to 'mesonbuild/modules/qt.py')
-rw-r--r--mesonbuild/modules/qt.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
index c07a361..463bf01 100644
--- a/mesonbuild/modules/qt.py
+++ b/mesonbuild/modules/qt.py
@@ -144,3 +144,21 @@ class QtBaseModule:
moc_output = moc_gen.process_files('Qt{} moc source'.format(self.qt_version), moc_sources, state)
sources.append(moc_output)
return ModuleReturnValue(sources, sources)
+
+ @permittedKwargs({'ts_files', 'install', 'install_dir', 'build_by_default', 'method'})
+ def compile_translations(self, state, args, kwargs):
+ ts_files, install_dir = extract_as_list(kwargs, 'ts_files', 'install_dir', pop=True)
+ self._detect_tools(state.environment, kwargs.get('method', 'auto'))
+ translations = []
+ for ts in ts_files:
+ cmd = [self.lrelease, '@INPUT@', '-qm', '@OUTPUT@']
+ lrelease_kwargs = {'output': '@BASENAME@.qm',
+ 'input': ts,
+ 'install': kwargs.get('install', False),
+ 'build_by_default': kwargs.get('build_by_default', False),
+ 'command': cmd}
+ if install_dir is not None:
+ lrelease_kwargs['install_dir'] = install_dir
+ lrelease_target = build.CustomTarget('qt{}-compile-{}'.format(self.qt_version, ts), state.subdir, state.subproject, lrelease_kwargs)
+ translations.append(lrelease_target)
+ return ModuleReturnValue(translations, translations)