From 9cf47946fc872ed95f1b3a766658dd5076a5d473 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Mon, 20 Nov 2023 15:28:51 +0200 Subject: [PATCH] tst_QTimer: refactor CMake code It's used to build different variations of the unittest, linking against QtCore-only/QtGui, with/without GLib, that's four individual tests. Change-Id: Iaf0f37041dbb148134631f86be99feaa881a8ce8 Reviewed-by: Alexandru Croitor --- .../auto/corelib/kernel/qtimer/CMakeLists.txt | 26 +++++++++------- .../auto/corelib/kernel/qtimer/tst_qtimer.cpp | 7 ----- .../auto/gui/kernel/qguitimer/CMakeLists.txt | 31 ++++++++++--------- 3 files changed, 31 insertions(+), 33 deletions(-) diff --git a/tests/auto/corelib/kernel/qtimer/CMakeLists.txt b/tests/auto/corelib/kernel/qtimer/CMakeLists.txt index 4959caa2add..6bb3b15850e 100644 --- a/tests/auto/corelib/kernel/qtimer/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qtimer/CMakeLists.txt @@ -11,22 +11,24 @@ if (NOT QT_FEATURE_thread) return() endif() -qt_internal_add_test(tst_qtimer - SOURCES - tst_qtimer.cpp - LIBRARIES - Qt::CorePrivate - Qt::TestPrivate -) - -if(QT_FEATURE_glib AND UNIX) - qt_internal_add_test(tst_qtimer_no_glib +function(addTimerTest test) + qt_internal_add_test(${test} SOURCES tst_qtimer.cpp - DEFINES - DISABLE_GLIB LIBRARIES Qt::CorePrivate Qt::TestPrivate ) +endfunction() + +addTimerTest(tst_qtimer) + +if(QT_FEATURE_glib AND UNIX) + addTimerTest(tst_qtimer_no_glib) + qt_internal_extend_target(tst_qtimer_no_glib + DEFINES + DISABLE_GLIB + tst_QTimer=tst_QTimer_no_glib # Class name in the unittest + ) endif() + diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp index d11402b1591..7affa0ae207 100644 --- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp +++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp @@ -4,7 +4,6 @@ #ifdef QT_GUI_LIB # include -# define tst_QTimer tst_QGuiTimer #else # include #endif @@ -24,12 +23,6 @@ #endif #ifdef DISABLE_GLIB -# ifdef tst_QTimer -# undef tst_QTimer -# define tst_QTimer tst_QGuiTimer_NoGlib -# else -# define tst_QTimer tst_QTimer_NoGlib -# endif static bool glibDisabled = []() { qputenv("QT_NO_GLIB", "1"); return true; diff --git a/tests/auto/gui/kernel/qguitimer/CMakeLists.txt b/tests/auto/gui/kernel/qguitimer/CMakeLists.txt index 1f27b5b919c..bc292e133b8 100644 --- a/tests/auto/gui/kernel/qguitimer/CMakeLists.txt +++ b/tests/auto/gui/kernel/qguitimer/CMakeLists.txt @@ -11,25 +11,28 @@ if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() -qt_internal_add_test(tst_qguitimer - SOURCES - ../../../corelib/kernel/qtimer/tst_qtimer.cpp - LIBRARIES - Qt::CorePrivate - Qt::Gui - Qt::TestPrivate -) - -if(QT_FEATURE_glib AND UNIX) - # only exists as a different dispatcher for XCB - qt_internal_add_test(tst_qguitimer_no_glib +function(addGuiTimerTest test) + qt_internal_add_test(${test} SOURCES ../../../corelib/kernel/qtimer/tst_qtimer.cpp - DEFINES - DISABLE_GLIB LIBRARIES Qt::CorePrivate Qt::Gui Qt::TestPrivate ) +endfunction() + +addGuiTimerTest(tst_qguitimer) +qt_internal_extend_target(tst_qguitimer + DEFINES + tst_Qtimer=tst_QGuiTimer +) + +if(QT_FEATURE_glib AND UNIX) + addGuiTimerTest(tst_qguitimer_no_glib) + qt_internal_extend_target(tst_qguitimer_no_glib + DEFINES + DISABLE_GLIB + tst_QTimer=tst_QGuiTimer_no_glib # Class name in the unittest + ) endif()