diff options
author | Alexis Jeandet <alexis.jeandet@member.fsf.org> | 2017-11-23 01:42:49 +0100 |
---|---|---|
committer | Alexis Jeandet <alexis.jeandet@member.fsf.org> | 2017-11-23 07:09:07 +0100 |
commit | 5c5eac357199092a1766bc43ce46bd7483451e74 (patch) | |
tree | c2d2cb035ab0d5e720ecec06623e2567b53bbb5a /mesonbuild/modules/qt.py | |
parent | 1fd743e6adbb04fc0d75ac21908a108c3483dc80 (diff) | |
download | meson-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.py | 18 |
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) |