| Age | Commit message (Collapse) | Author |
|
This allows checking for tools that may not be available in older version of qt
or avoiding requesting tools that may not be necessary for a given project
Co-authored-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
|
|
expect_skip_on_os
The test.json format currently has three keys related to skipping tests:
* `skip_on_jobname`
* `skip_on_os`
* `skip_on_env`
While `skip_on_env` marks the test itself as skipped, i.e. they don't get run when the
conditions are met, the other two skip options are just marking the test as "expected to be skipped"
if the conditions apply, i.e. they want to see `MESON_SKIP_TEST` in the output and things will
fail if that doesn't happen. They don't actually skip the tests as the names imply.
To make this clearer rename the keys:
* `skip_on_jobname` -> `expect_skip_on_jobname`
* `skip_on_os` -> `expect_skip_on_os`
`skip_on_env` stays the same, since that actually skips.
The docs were also confused about this, so adjust that too.
|
|
This allow to generate ui and moc under subdirectories,
as this is allowed with generic generators.
|
|
|
|
Fixes #12182
|
|
Currently you can only use one of qt4, qt5, qt6 in a single project
when using a machine file because the config-tool lookup for qt only
looks at `qmake` in the machine files, instead of looking up the
binary names directly.
Allow specifying `qmake` `qmake4` `qmake5` and `qmake6`.
This is necessary for gstreamer, which can build separate qt5 and qt6
plugins that are distributed as static libraries, so the user can pick
which one to use.
|
|
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
*.qrc files converted to C++ sources could make use of Qt headers, and
in practice for qt4 they seem to. Since this is Qt code to begin with,
it makes sense to depend on the Qt being targeted regardless of version.
|
|
Fixes regression in commit c211fea51389728783cf59ae41156a5e0de9c41a. The
original dependency lookup looked for `qmake-{self.name}`, i.e.
`qmake-qt5`, but when porting to config-tool, it got switched to
`qmake-{self.qtname}` i.e. `qmake-Qt6`, which was bogus and never
worked. As a result, if `qmake-qt5` and `qmake` both existed, and the
latter was NOT qt5, it would only try the less preferred name, and then
fail.
We need to define self.name early enough to define the configtool names,
which means we need to set it before running the configtool __init__()
even though configtool/pkgconfig would also set it to the same value.
Mark the tests as passing on two distros that were failing to detect
qmake due to this issue, and were marked for skipping because we assumed
that the CI skipping there was an expected case rather than an old
regression.
|
|
The "frameworks/4 qt" test covers Qt 4 and 5. There is already Qt 6 code
in the test but it is incomplete because translations are missing and Qt
6 requires C++17 or later to compile.
|
|
|
|
|
|
and clean up all outstanding issues
Skip 'test cases/common/141 special characters/meson.build' since it
intentionally uses trailing newlines.
|
|
|
|
Remove hard-coded framework test skip logic in skippable(), instead
annotate test.json with environments in which skip is expected.
(Mainly this is done with by testing the value of MESON_CI_JOBNAME now
set for linux jobs)
|
|
Because that's what we need, of course
|
|
This method only compiles moc resources, nothing else
|
|
Which is the same functionality split out of preprocess
|
|
This is a separate method for just handling qrc resources.
|
|
Currently the Qt Dependencies still use the old "combined" method for
dependencies with multiple ways to be found. This is problematic as it
means that `get_variable()` and friends don't work, as the dependency
can't implement any of those methods. The correct solution is to make
use of multiple Dependency instances, and a factory to tie them
together. This does that.
To handle QMake, I've leveraged the existing config-tool mechanism,
which allows us to save a good deal of code, and use well tested code
instead of rolling more of our own code.
The one thing this doesn't do, but we probably should, is expose the
macOS ExtraFrameworks directly, instead of forcing them to be found
through QMake. That is a problem for another series, and someone who
cares more about macOS than I do.
|
|
|
|
|
|
This always tries to load a 'qt5core_fr' translation file, when it is
actually named 'qtNcore_fr'(where N is the qt version).
|
|
Make the 'framework/4 qt' test more flexible about what version of Qt is
expected to be present in the CI environment. Currently, this is
hard-coded as Qt5. We add an option to specify it so we can run this
test under CI with just Qt4 present.
|
|
Finding all the dependencies missing from my Fedora system to run the whole
test suite was relatively quick - except for this one.
|
|
|
|
Windows (#2327)
|
|
|
|
|
|
|
|
Removed Qt4 private headers test since it's hard to get Qt4 private
headers installed on CI.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
This commit adds private_headers option in dependency method which tells
QtDependency to add private headers include path to build flags.
Since there is no easy way to do this with pkg-config only qmake method
supports this, so with private_headers set qmake will always be used.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
Meson doesn't provides yet a convenient way to include private Qt headers
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
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>
|
|
Subdir is already in generated resource path.
Some PEP8 fixes.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
Added missing sub-folder test
Closes #3324
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
|
|
When having Qt resources in a meson subdir, meson prepends twice
the subdir name in resource file dependencies.
Here it will set 'subfolder/subfolder/resources/thing.png' as dependencie
for stuff3.qrc.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
- 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>
|
|
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
|
|
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
|
|
|
|
|
|
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
|
|
|
|
configure a detection method, for those types of dependencies that have
more than one means of detection.
The default detection methods are unchanged if 'method' is not
specified, and all dependencies support the method 'auto', which is the
same as not specifying a method.
The dependencies which do support multiple detection methods
additionally support other values, depending on the dependency.
|
|
Qt5 now requires this, and if no -std option is passed to clang, it does
not enable C++ 11 features and we get a build failures.
|