aboutsummaryrefslogtreecommitdiff
path: root/test cases/frameworks
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-01-21 09:09:14 -0800
committerGitHub <noreply@github.com>2020-01-21 09:09:14 -0800
commit04c4bbccb797936071644c9348ab80af9f2e4b00 (patch)
tree58688939db0bee18599bd827cfe2e0fb1b75e596 /test cases/frameworks
parentb44501b02d7841e6b659c02f869bcfe2ea22248f (diff)
parentd2e5a82fb515bb025222a22b5d52e01cd16b4dd5 (diff)
downloadmeson-04c4bbccb797936071644c9348ab80af9f2e4b00.zip
meson-04c4bbccb797936071644c9348ab80af9f2e4b00.tar.gz
meson-04c4bbccb797936071644c9348ab80af9f2e4b00.tar.bz2
Merge pull request #6481 from jon-turney/osx-qt-dep-crash
Fix dependency('qt') crash with old Qt on OSX
Diffstat (limited to 'test cases/frameworks')
-rw-r--r--test cases/frameworks/4 qt/meson.build19
-rw-r--r--test cases/frameworks/4 qt/meson_options.txt1
-rw-r--r--test cases/frameworks/4 qt/q5core.cpp2
3 files changed, 15 insertions, 7 deletions
diff --git a/test cases/frameworks/4 qt/meson.build b/test cases/frameworks/4 qt/meson.build
index 15fd822..7934572 100644
--- a/test cases/frameworks/4 qt/meson.build
+++ b/test cases/frameworks/4 qt/meson.build
@@ -21,19 +21,25 @@ foreach qt : ['qt4', 'qt5']
error('Invalid qt dep incorrectly found!')
endif
- # This test should be skipped if qt5 isn't found
- if qt == 'qt5'
+ # This test should be skipped if the required version of Qt isn't found
+ #
+ # (In the CI environment, the specified version of Qt is definitely present.
+ # An unexpected skip here is treated as a failure, so we are testing that the
+ # detection mechanism is able to find Qt.)
+ needed_qt = get_option('required').to_lower()
+ required = (qt == needed_qt)
+ if required
dep = dependency(qt, modules : ['Core'], required : false, method : get_option('method'))
if not dep.found()
- error('MESON_SKIP_TEST qt5 not found.')
+ error('MESON_SKIP_TEST @0@ not found.'.format(needed_qt))
endif
endif
# Ensure that the "no-Core-module-specified" code branch is hit
- nocoredep = dependency(qt, modules : ['Gui'], required : qt == 'qt5', method : get_option('method'))
+ nocoredep = dependency(qt, modules : ['Gui'], required : required, method : get_option('method'))
- # If qt4 modules are found, test that. qt5 is required.
- qtdep = dependency(qt, modules : qt_modules, main : true, private_headers: true, required : qt == 'qt5', method : get_option('method'))
+ # If 'qt' modules are found, test that.
+ qtdep = dependency(qt, modules : qt_modules, main : true, private_headers: true, required : required, method : get_option('method'))
if qtdep.found()
qtmodule = import(qt)
@@ -77,6 +83,7 @@ foreach qt : ['qt4', 'qt5']
qtcore = dependency(qt, modules : 'Core', method : get_option('method'))
qtcoreapp = executable(qt + 'core', 'q5core.cpp',
+ cpp_args: '-DQT="@0@"'.format(qt),
dependencies : qtcore)
test(qt + 'test', qtcoreapp)
diff --git a/test cases/frameworks/4 qt/meson_options.txt b/test cases/frameworks/4 qt/meson_options.txt
index bc1069e..223f4fb 100644
--- a/test cases/frameworks/4 qt/meson_options.txt
+++ b/test cases/frameworks/4 qt/meson_options.txt
@@ -1 +1,2 @@
option('method', type : 'string', value : 'auto', description : 'The method to use to find Qt')
+option('required', type : 'string', value : 'qt5', description : 'The version of Qt which is required to be present')
diff --git a/test cases/frameworks/4 qt/q5core.cpp b/test cases/frameworks/4 qt/q5core.cpp
index 25b80b8..44581a6 100644
--- a/test cases/frameworks/4 qt/q5core.cpp
+++ b/test cases/frameworks/4 qt/q5core.cpp
@@ -15,7 +15,7 @@ int main(int argc, char **argv) {
app.installTranslator(&qtTranslator);
QTranslator myappTranslator;
- if(!myappTranslator.load("qt5core_fr") )
+ if(!myappTranslator.load(QT "core_fr") )
return 1;
app.installTranslator(&myappTranslator);