From 07b0aa89f58cadde8410f82245bad98eb1948b19 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 28 May 2021 14:14:03 +0200 Subject: [PATCH] CMake build: Improve default qmake for dumper tests We can do better than just "qmake" and instead take the path to the qmake that the test was compiled with. (Can still be overridden with environment variables.) Change-Id: Icc045d4f96946aeb1f324e6f1334dc9747215f3f Reviewed-by: Cristian Adam Reviewed-by: hjk --- tests/auto/debugger/CMakeLists.txt | 6 +++++- tests/auto/debugger/dumpers.pro | 2 ++ tests/auto/debugger/dumpers.qbs | 1 + tests/auto/debugger/tst_dumpers.cpp | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/auto/debugger/CMakeLists.txt b/tests/auto/debugger/CMakeLists.txt index 71f48e399c1..d5270e6b6ec 100644 --- a/tests/auto/debugger/CMakeLists.txt +++ b/tests/auto/debugger/CMakeLists.txt @@ -9,10 +9,14 @@ add_qtc_test(tst_debugger_disassembler option(WITH_DEBUGGER_DUMPERS "Include tests for debugger pretty printers" ON) if (WITH_DEBUGGER_DUMPERS) + get_target_property(qmake_binary Qt5::qmake IMPORTED_LOCATION) + add_qtc_test(tst_debugger_dumpers TIMEOUT 0 DEPENDS Qt5::Network Utils - DEFINES DUMPERDIR="${PROJECT_SOURCE_DIR}/share/qtcreator/debugger" + DEFINES + DUMPERDIR="${PROJECT_SOURCE_DIR}/share/qtcreator/debugger" + DEFAULT_QMAKE_BINARY="${qmake_binary}" INCLUDES "${DEBUGGERDIR}" SOURCES diff --git a/tests/auto/debugger/dumpers.pro b/tests/auto/debugger/dumpers.pro index 5ceb286b811..e5ca224b289 100644 --- a/tests/auto/debugger/dumpers.pro +++ b/tests/auto/debugger/dumpers.pro @@ -64,8 +64,10 @@ HEADERS += \ !isEmpty(vcproj) { DEFINES += DUMPERDIR=\"$$DUMPERDIR\" + DEFINES += DEFAULT_QMAKE_BINARY=\"qmake\" } else { DEFINES += DUMPERDIR=\\\"$$DUMPERDIR\\\" + DEFINES += DEFAULT_QMAKE_BINARY=\\\"qmake\\\" } INCLUDEPATH += $$DEBUGGERDIR diff --git a/tests/auto/debugger/dumpers.qbs b/tests/auto/debugger/dumpers.qbs index 7138b314c12..f524debc2ab 100644 --- a/tests/auto/debugger/dumpers.qbs +++ b/tests/auto/debugger/dumpers.qbs @@ -26,6 +26,7 @@ QtcAutotest { cpp.defines: base.concat([ 'CDBEXT_PATH="' + project.buildDirectory + '\\\\lib"', 'DUMPERDIR="' + path + '/../../../share/qtcreator/debugger"', + 'DEFAULT_QMAKE_BINARY="qmake"' ]) cpp.includePaths: base.concat([project.debuggerDir]) } diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 861ffcc9dda..03364369267 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -1189,7 +1189,7 @@ void tst_Dumpers::initTestCase() m_qmakeBinary = QDir::fromNativeSeparators(QString::fromLocal8Bit(qgetenv("QTC_QMAKE_PATH_FOR_TEST"))); if (m_qmakeBinary.isEmpty()) - m_qmakeBinary = "qmake"; + m_qmakeBinary = DEFAULT_QMAKE_BINARY; if (qEnvironmentVariableIntValue("QTC_USE_CMAKE_FOR_TEST")) m_buildSystem = BuildSystem::CMake;