summaryrefslogtreecommitdiff
path: root/mesonbuild/modules/qt.py
Commit message (Collapse)AuthorAgeFilesLines
* qt module: fix error message typo, translation qresource accepts qm not tsEli Schwartz2020-11-041-1/+1
| | | | Fixes #7925
* pylint: turn on bad-indentation errorDylan Baker2020-09-221-23/+23
| | | | and fix all of the bad indentation
* qt module: add qresource support to compile_translationsEli Schwartz2020-08-251-11/+49
| | | | | | | | | | | | A common pattern in Qt5 applications is to embed translations in the executable using the qresource system. In this case, the list of translation files is already available in the .qrc file and there's no good reason to duplicate this info in meson.build. Let compile_translations optionally take a qrc input, in which case it will go straight to generating the relevant translations and rcc-generated .cpp, and directly return the thing users actually care about -- the .cpp for linking.
* qt module: rcc supports depfiles now, given a recent enough version of Qt5Eli Schwartz2020-07-131-1/+10
| | | | | | | | | Add depfile support to generated targets for Qt >= 5.14. Move warning into the module init itself, to check if the version is too old before issuing. Also tweak the wording itself, to advise upgrading to a suitable version of Qt5 instead of advising to wait for a Qt bug to be fixed.
* qt: Fix has_tools() when required=FalseXavier Claessens2020-07-041-36/+15
| | | | | Improve logs by making it clear when the program is found but has wrong version.
* Merge pull request #6736 from dcbaker/mesonlib-type-annotationsJussi Pakkanen2020-03-081-6/+4
|\ | | | | Mesonlib type annotations
| * Make use of unholderDylan Baker2020-03-051-4/+2
| | | | | | | | | | | | | | | | | | | | We have a lot of cases of code like: ```python if hasattr(var, 'held_object'): var = var.held_object` ``` replace that with the unholder function.
| * remove ability to pass multiple keys to extract_as_listDylan Baker2020-03-051-2/+2
| | | | | | | | | | | | | | | | This makes the typing annotations basically impossible to get right, but if we only have one key then it's easy. Fortunately python provides comprehensions, so we don't even need the ability to pass multiple keys, we can just [extract_as_list(kwargs, c) for c in ('a', 'b', 'c')] and get the same result.
* | qt5: Add has_tools() methodXavier Claessens2020-03-081-1/+20
|/
* modules/qt.py: friendlier "lrelease-qtN not found" error messageMarc Herbert2019-11-271-0/+3
| | | | | | | | | | | | | When lrelease-qtN is missing, upgrade the error message from the cryptic: meson.build:75:4: ERROR: Tried to use not-found external program in "command" to the meaningful: meson.build:75:4: ERROR: qt.compile_translations: lrelease-qt5 not found Issue found and tested with "test cases/frameworks/4 qt/"
* Don't use len() to test for container emptinessDylan Baker2019-04-251-6/+6
| | | | | | I ran the numbers once before (it's in the meson history) but it's *much* faster to *not* use len for testing if a container is empty or not.
* Add feature warning for qt.compile_translationsLuca Weiss2019-03-171-2/+2
|
* lgtm: Too few arguments for string format.Jon Turney2018-11-191-1/+1
| | | | | | | Too few arguments for string format. Format "{0} sources specified and couldn't find {1}, please check your qt{2} installation" requires at least 3, but 2 are provided. This alert was introduced in f7f439c a year ago
* dependencies/ui: Allow qt compilers and qmake to be specified in native fileDylan Baker2018-11-141-4/+5
|
* module-qt: add rcc_extra_arguments to pass extra arguments to rcc (#4406)xiannox2018-10-241-5/+6
|
* Add support for uic_extra_arguments to qt5 (#4178)Salamandar2018-09-281-4/+6
|
* Qt: Allow passing dependency objects to preprocess method (#3470, #3875)Alexey Rochev2018-09-031-6/+19
|
* Add 0.44.0 featuresSalamandar2018-06-011-0/+1
|
* Add 0.40.0 featuresSalamandar2018-06-011-1/+2
|
* [Qt module] refactor b4cd949c48ab67891e4bc6b14a8f9f247e28777dAlexis Jeandet2018-04-041-3/+5
| | | | | | | | | Since relative path in qrc files are always relative to qrc file itself then we just need to check that normpath(qrc file + resource) doesn't start with build dir path, this would mean that the resource is generated. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] More qrc fixesAlexis Jeandet2018-04-041-8/+10
| | | | | | | | | When several qrc files are given all qrc files dependencies were mixed. Fixed non working use case: When user try to guess build dir layout and add use a relative path between a generated qrc file and a generated resource. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] Added generated resource test case + some fixesAlexis Jeandet2018-03-301-4/+4
| | | | | | | Subdir is already in generated resource path. Some PEP8 fixes. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] add some logic to detect if resources are in build dirAlexis Jeandet2018-03-301-1/+21
| | | | | | | | In order to handle generated resources embedded in qrc file, we need to be able to detect if files pointed from qrc are in build directory or not. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] Add File object support for generated or not qrc filesAlexis Jeandet2018-03-261-6/+14
| | | | | | | | Added missing sub-folder test Closes #3324 Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* Use os.path: basename() and dirname() instead of split()Aleksey Filippov2018-01-301-2/+2
| | | | | | | | | | | | According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
* Fixed bugAlexis Jeandet2018-01-201-1/+1
| | | | | | | Adding the current subdir when extracting resources deps wasn't good, it is CustomTarget job to handle that. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] Added workaround for qt tools version detectionAlexis Jeandet2017-11-281-1/+5
| | | | | | | | Depending on the tool (moc, uic, rcc, lrelease), the Qt version (4.8, 5.7, 5.9) and the distribution (Fedora, debian,...) it seems you cannot predict which of -v or -version will be supported. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] Added translation files compilation methodAlexis Jeandet2017-11-231-0/+18
| | | | | | | | | | - 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>
* [Qt module] Added lrelease detectionAlexis Jeandet2017-11-221-3/+3
| | | | | | | | Just detect lrelease as done with other Qt tools. Uses -version instead of -v to probe version since lrelease don't support it. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* [Qt module] Few minor fixesAlexis Jeandet2017-11-221-2/+2
| | | | | | | - removed a typo in tools detection loop - added include dir also when parsing cpp sources with moc, not only headers Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* Qt-Module: fix name option with multiple rcc filesMarkus Theil2017-11-081-8/+16
| | | | Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
* Qt-Module: fix rcc `name` with Qt4Markus Theil2017-11-031-1/+1
| | | | | | Qt5's rcc knows --name and -name, Qt4's only -name. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
* Qt5-Module: add `name` option to rccMarkus Theil2017-11-031-1/+1
| | | | | | | | This patch sets the --name option for files processed with rcc. It generates an additional initialization function, which can be used with static linking. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
* namespace run_targets by subprojectMartin Kelly2017-10-311-1/+1
| | | | | | | | | Currently, run_target does not get namespaced for each subproject, unlike executable and others. This means that two subprojects sharing the same run_target name cause meson to crash. Fix this by moving the subproject namespacing logic from the BuildTarget class to the Target class.
* Fixes the `kwargs` handling.Leif Middelschulte2017-10-291-1/+1
| | | | | | | As suggested by @jeandet. Details: https://github.com/mesonbuild/meson/pull/2529#pullrequestreview-72703268
* removes unnecessary code as suggested by @jeandetLeif Middelschulte2017-10-261-5/+1
| | | | Details: https://github.com/mesonbuild/meson/pull/2529#discussion_r146985692
* removes unnecessary if/else-statement as suggested by @jeandetLeif Middelschulte2017-10-261-4/+1
| | | | Details: https://github.com/mesonbuild/meson/pull/2529#discussion_r146985692
* Qt5-Module: Add `moc_extra_arguments` keyword support.Leif Middelschulte2017-10-251-5/+14
| | | | | | This commit adds support for an additional `moc_extra_arguments` keyword. It becomes especially handy, when `moc`-ed sources conditionally provide `slots`, depending on compile time macros (i.e. defines).
* Factorized Qt compilers version probing.Alexis Jeandet2017-10-121-44/+17
| | | | Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
* Factorized Qt4 and Qt5 modules in one base class.Alexis Jeandet2017-10-101-0/+163
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>