From 893b4dc56c7e2ef21f4e253ccbbb20643d18cadf Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 19 Dec 2018 17:37:58 +0100 Subject: Qt support: Use gold linker if Qt is configured that way Fixes: QBS-1421 Change-Id: I1f6d749eba38c9a4caa60341f19ee5e89e89d28a Reviewed-by: hjk Reviewed-by: Joerg Bornemann --- tests/auto/blackbox/testdata-qt/linker-variant/main.cpp | 6 ++++++ .../blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs | 10 ++++++++++ tests/auto/blackbox/tst_blackboxqt.cpp | 10 ++++++++++ tests/auto/blackbox/tst_blackboxqt.h | 1 + 4 files changed, 27 insertions(+) create mode 100644 tests/auto/blackbox/testdata-qt/linker-variant/main.cpp create mode 100644 tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs (limited to 'tests') diff --git a/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp b/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp new file mode 100644 index 000000000..d1c118fa9 --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp @@ -0,0 +1,6 @@ +#include + +int main() +{ + qDebug() << "Tach."; +} diff --git a/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs b/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs new file mode 100644 index 000000000..ab5889007 --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs @@ -0,0 +1,10 @@ +QtApplication { + Probe { + id: qtConfigProbe + property stringList moduleConfig: Qt.core.moduleConfig + configure: { + console.info("Qt requires gold: " + moduleConfig.contains("use_gold_linker")); + } + } + files: "main.cpp" +} diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp index 3441255e2..88e1aa5ec 100644 --- a/tests/auto/blackbox/tst_blackboxqt.cpp +++ b/tests/auto/blackbox/tst_blackboxqt.cpp @@ -160,6 +160,16 @@ void TestBlackboxQt::includedMocCpp() QVERIFY2(!m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData()); } +void TestBlackboxQt::linkerVariant() +{ + QDir::setCurrent(testDataDir + "/linker-variant"); + QCOMPARE(runQbs(QStringList{"--command-echo-mode", "command-line"}), 0); + const bool goldRequired = m_qbsStdout.contains("Qt requires gold: true"); + const bool goldNotRequired = m_qbsStdout.contains("Qt requires gold: false"); + QVERIFY2(goldRequired != goldNotRequired, m_qbsStdout.constData()); + QCOMPARE(m_qbsStdout.contains("-fuse-ld=gold"), goldRequired ? 1 : 0); +} + void TestBlackboxQt::lrelease() { QDir::setCurrent(testDataDir + QLatin1String("/lrelease")); diff --git a/tests/auto/blackbox/tst_blackboxqt.h b/tests/auto/blackbox/tst_blackboxqt.h index f42c225d8..0240312a0 100644 --- a/tests/auto/blackbox/tst_blackboxqt.h +++ b/tests/auto/blackbox/tst_blackboxqt.h @@ -50,6 +50,7 @@ private slots: void dbusAdaptors(); void dbusInterfaces(); void includedMocCpp(); + void linkerVariant(); void lrelease(); void mixedBuildVariants(); void mocAndCppCombining(); -- cgit v1.2.3