summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2021-02-24 16:07:37 +0100
committerQt CI Bot <qt_ci_bot@qt-project.org>2021-03-03 12:19:52 +0000
commit4a037e86d4d2808634294daa7adb9d7523dfa3b9 (patch)
tree0f29499350b86278beb7561d8dd4f907e46c1393
parentb18a845befbd8fb38f78a279de07c4d21ac9460c (diff)
parent5bbd700124d13a292ff8bae6045316112500e230 (diff)
Merge "Improve support for QT_ADDITIONAL_PACKAGES_PREFIX_PATH"
-rw-r--r--cmake/QtConfig.cmake.in7
-rw-r--r--cmake/QtModuleDependencies.cmake.in6
-rw-r--r--cmake/QtPluginDependencies.cmake.in3
-rw-r--r--tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp56
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp8
5 files changed, 39 insertions, 41 deletions
diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in
index 57c252091d..00121013b2 100644
--- a/cmake/QtConfig.cmake.in
+++ b/cmake/QtConfig.cmake.in
@@ -46,6 +46,10 @@ if(APPLE AND (NOT CMAKE_SYSTEM_NAME OR CMAKE_SYSTEM_NAME STREQUAL "Darwin"))
list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/macos")
endif()
+set(QT_ADDITIONAL_PACKAGES_PREFIX_PATH "" CACHE STRING "Additional directories where find(Qt6 ...) components are searched")
+file(TO_CMAKE_PATH "${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path)
+file(TO_CMAKE_PATH "$ENV{QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path_env)
+
# Find required dependencies, if any.
include(CMakeFindDependencyMacro)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake")
@@ -68,7 +72,8 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS})
${_@INSTALL_CMAKE_NAMESPACE@_FIND_PARTS_REQUIRED}
PATHS
${_qt_cmake_dir}
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in
index 8f7960059a..f9a5897676 100644
--- a/cmake/QtModuleDependencies.cmake.in
+++ b/cmake/QtModuleDependencies.cmake.in
@@ -8,7 +8,8 @@ endif()
find_dependency(@INSTALL_CMAKE_NAMESPACE@ @PROJECT_VERSION@
PATHS
"${CMAKE_CURRENT_LIST_DIR}/.."
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
@@ -86,7 +87,8 @@ foreach(_target_dep ${_target_deps})
find_dependency(${pkg} ${version}
PATHS
"${CMAKE_CURRENT_LIST_DIR}/.."
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/cmake/QtPluginDependencies.cmake.in b/cmake/QtPluginDependencies.cmake.in
index 42365b4296..7bd1eef9aa 100644
--- a/cmake/QtPluginDependencies.cmake.in
+++ b/cmake/QtPluginDependencies.cmake.in
@@ -42,7 +42,8 @@ foreach(_target_dep ${_target_deps})
find_dependency(${pkg} ${version}
PATHS
@find_dependency_paths@
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
index 6b0c353e3b..09fc8343b5 100644
--- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
+++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
@@ -134,8 +134,8 @@ public:
virtual ~tst_QDoubleSpinBox();
public slots:
void initTestCase();
- void cleanupTestCase();
void init();
+ void cleanup();
private slots:
void germanTest();
@@ -213,7 +213,6 @@ public slots:
private:
QStringList actualTexts;
QList<double> actualValues;
- QWidget *testFocusWidget;
};
typedef QList<double> DoubleList;
@@ -257,25 +256,18 @@ tst_QDoubleSpinBox::~tst_QDoubleSpinBox()
void tst_QDoubleSpinBox::initTestCase()
{
- testFocusWidget = new QWidget(0);
- testFocusWidget->resize(200, 100);
- testFocusWidget->show();
-
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Wayland: This fails. Figure out why.");
-
- QVERIFY(QTest::qWaitForWindowActive(testFocusWidget));
}
-void tst_QDoubleSpinBox::cleanupTestCase()
+void tst_QDoubleSpinBox::init()
{
- delete testFocusWidget;
- testFocusWidget = 0;
+ QLocale::setDefault(QLocale(QLocale::C));
}
-void tst_QDoubleSpinBox::init()
+void tst_QDoubleSpinBox::cleanup()
{
- QLocale::setDefault(QLocale(QLocale::C));
+ QTRY_VERIFY(QApplication::topLevelWidgets().isEmpty());
}
void tst_QDoubleSpinBox::setValue_data()
@@ -878,15 +870,16 @@ void tst_QDoubleSpinBox::setReadOnly()
void tst_QDoubleSpinBox::editingFinished()
{
- QVBoxLayout *layout = new QVBoxLayout(testFocusWidget);
- QDoubleSpinBox *box = new QDoubleSpinBox(testFocusWidget);
+ QWidget testFocusWidget(nullptr);
+ QVBoxLayout *layout = new QVBoxLayout(&testFocusWidget);
+ QDoubleSpinBox *box = new QDoubleSpinBox(&testFocusWidget);
layout->addWidget(box);
- QDoubleSpinBox *box2 = new QDoubleSpinBox(testFocusWidget);
+ QDoubleSpinBox *box2 = new QDoubleSpinBox(&testFocusWidget);
layout->addWidget(box2);
- testFocusWidget->show();
- testFocusWidget->activateWindow();
- QVERIFY(QTest::qWaitForWindowActive(testFocusWidget));
+ testFocusWidget.show();
+ testFocusWidget.activateWindow();
+ QVERIFY(QTest::qWaitForWindowActive(&testFocusWidget));
box->setFocus();
QTRY_VERIFY(box->hasFocus());
@@ -925,14 +918,9 @@ void tst_QDoubleSpinBox::editingFinished()
QTest::keyClick(box2, Qt::Key_Return);
QCOMPARE(editingFinishedSpy1.count(), 4);
QCOMPARE(editingFinishedSpy2.count(), 3);
- testFocusWidget->hide();
+ testFocusWidget.hide();
QCOMPARE(editingFinishedSpy1.count(), 4);
QCOMPARE(editingFinishedSpy2.count(), 4);
-
- // On some platforms this is our root window
- // we need to show it again otherwise subsequent
- // tests will fail
- testFocusWidget->show();
}
void tst_QDoubleSpinBox::removeAll()
@@ -1111,15 +1099,15 @@ public:
void tst_QDoubleSpinBox::task224497_fltMax()
{
- task224497_fltMax_DoubleSpinBox *dspin = new task224497_fltMax_DoubleSpinBox;
- dspin->setMinimum(3);
- dspin->setMaximum(FLT_MAX);
- dspin->show();
- QVERIFY(QTest::qWaitForWindowActive(dspin));
- dspin->lineEdit()->selectAll();
- QTest::keyClick(dspin->lineEdit(), Qt::Key_Delete);
- QTest::keyClick(dspin->lineEdit(), Qt::Key_1);
- QCOMPARE(dspin->cleanText(), QLatin1String("1"));
+ task224497_fltMax_DoubleSpinBox dspin;
+ dspin.setMinimum(3);
+ dspin.setMaximum(FLT_MAX);
+ dspin.show();
+ QVERIFY(QTest::qWaitForWindowActive(&dspin));
+ dspin.lineEdit()->selectAll();
+ QTest::keyClick(dspin.lineEdit(), Qt::Key_Delete);
+ QTest::keyClick(dspin.lineEdit(), Qt::Key_1);
+ QCOMPARE(dspin.cleanText(), QLatin1String("1"));
}
void tst_QDoubleSpinBox::task221221()
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index 16fd99f44e..db465e9281 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -1376,6 +1376,8 @@ void tst_QMenu::QTBUG_89082_actionTipsHide()
QVERIFY(QTest::qWaitForWindowExposed(&widget));
menu->popup(widget.geometry().topRight() + QPoint(50, 0));
QVERIFY(QTest::qWaitForWindowExposed(menu));
+ auto menuWindow = menu->windowHandle();
+ QVERIFY(menuWindow != nullptr);
auto actionZero = menu->actions().at(0);
auto actionOne = menu->actions().at(1);
@@ -1389,12 +1391,12 @@ void tst_QMenu::QTBUG_89082_actionTipsHide()
const QRect submenuRect5 = menu->actionGeometry(actionFive);
const QPoint submenuPos5(submenuRect5.topLeft() + QPoint(10, 3));
- QTest::mouseMove(menu, submenuPos1);
- QTest::mouseMove(menu, submenuPos0); //show the tip
+ QTest::mouseMove(menuWindow, submenuPos1);
+ QTest::mouseMove(menuWindow, submenuPos0); //show the tip
QTRY_COMPARE_WITH_TIMEOUT(QToolTip::text(), tipFullName, 1000);
//Move to the fifth action without prompting
- QTest::mouseMove(menu, submenuPos5);
+ QTest::mouseMove(menuWindow, submenuPos5);
//The previous tip was hidden, but now is a new tip to get text, So there should be no content
QTRY_COMPARE_WITH_TIMEOUT(QToolTip::text(), QString(), 1000);
}