From d1dd20aa31b99d6e708799fc07d9b14d2fdb68e2 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 3 Jun 2015 10:59:38 +0200 Subject: [PATCH 01/10] Fix parsing of old settings with sdktool With commit 5aba7fb09504e1a the sdktool started to save id's in a QString (instead of a QByteArray). Commit b2e3f0262bbf5de4 then adapted also the parsing. However, this broke the parsing of existing settings still using a QByteArray. Task-number: QTCREATORBUG-14545 Change-Id: I6c991d9d130602c7e9b3146b4d7b17555056a8ef Reviewed-by: Eike Ziller Reviewed-by: Tobias Hunger --- src/tools/sdktool/addtoolchainoperation.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tools/sdktool/addtoolchainoperation.cpp b/src/tools/sdktool/addtoolchainoperation.cpp index dd5e658a77e..3a4ce1513e8 100644 --- a/src/tools/sdktool/addtoolchainoperation.cpp +++ b/src/tools/sdktool/addtoolchainoperation.cpp @@ -281,6 +281,8 @@ QVariantMap AddToolChainOperation::initializeToolChains() bool AddToolChainOperation::exists(const QVariantMap &map, const QString &id) { QStringList valueKeys = FindValueOperation::findValue(map, id); + // support old settings using QByteArray for id's + valueKeys.append(FindValueOperation::findValue(map, id.toUtf8())); foreach (const QString &k, valueKeys) { if (k.endsWith(QString(QLatin1Char('/')) + QLatin1String(ID))) { From 294f8c5274dc292c05ff1703e6ba8ccd17165c55 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 3 Jun 2015 15:09:50 +0200 Subject: [PATCH 02/10] Update qbs submodule. To HEAD of 1.4 branch. Change-Id: I6eb26ac7ef151a71021effad1fb4168135fd9352 Reviewed-by: Joerg Bornemann --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 760dc4ef757..ef4c4e55c3f 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 760dc4ef7571e780489adcd51ddb80beb000bd21 +Subproject commit ef4c4e55c3f0bc9c02c84e4b45fdcea1cd491615 From 8eb7c3efad1e16b677098e97c66daf0eabc672c7 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 3 Jun 2015 17:07:29 +0200 Subject: [PATCH 03/10] Adapt to qbs' libexec infrastructure. Change-Id: Ic2d609e017d201b7b3e0b3bcb08359652428aeaa Reviewed-by: Joerg Bornemann --- qtcreator.pro | 7 +++++++ qtcreator.qbs | 2 ++ src/plugins/qbsprojectmanager/qbsprojectparser.cpp | 9 +++++++++ src/plugins/qbsprojectmanager/qbsprojectparser.h | 1 + src/src.pro | 3 +++ src/src.qbs | 4 ++++ 6 files changed, 26 insertions(+) diff --git a/qtcreator.pro b/qtcreator.pro index f43df3032db..1b8a7523fcd 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -61,6 +61,13 @@ exists(src/shared/qbs/qbs.pro) { cache(QBS_APPS_DESTDIR) QBS_APPS_INSTALL_DIR = $${QTC_PREFIX}/bin cache(QBS_APPS_INSTALL_DIR) + QBS_LIBEXEC_DESTDIR = $${IDE_LIBEXEC_PATH} + cache(QBS_LIBEXEC_DESTDIR) + QBS_LIBEXEC_INSTALL_DIR = $${QTC_PREFIX}/bin + cache(QBS_LIBEXEC_INSTALL_DIR) + QBS_RELATIVE_LIBEXEC_PATH = $$relative_path($$QBS_LIBEXEC_DESTDIR, $$QBS_APPS_DESTDIR) + isEmpty(QBS_RELATIVE_LIBEXEC_PATH):QBS_RELATIVE_LIBEXEC_PATH = . + cache(QBS_RELATIVE_LIBEXEC_PATH) QBS_RELATIVE_PLUGINS_PATH = $$relative_path($$QBS_PLUGINS_BUILD_DIR, $$QBS_APPS_DESTDIR$$) cache(QBS_RELATIVE_PLUGINS_PATH) QBS_RELATIVE_SEARCH_PATH = $$relative_path($$QBS_RESOURCES_BUILD_DIR, $$QBS_APPS_DESTDIR) diff --git a/qtcreator.qbs b/qtcreator.qbs index 012720bb11b..ed18dbf37d6 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -1,6 +1,7 @@ import qbs 1.0 Project { + name: "Qt Creator" minimumQbsVersion: "1.4" property bool withAutotests: qbs.buildVariant === "debug" property string ide_version_major: '3' @@ -56,6 +57,7 @@ Project { "QT_NO_CAST_FROM_ASCII" ].concat(testsEnabled ? ["WITH_TESTS"] : []) qbsSearchPaths: "qbs" + property bool enableQbsJavaSupport: false references: [ "src/src.qbs", diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp index 33de434ef91..484bae73ca1 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp @@ -100,6 +100,7 @@ void QbsProjectParser::parse(const QVariantMap &config, const Environment &env, const qbs::Preferences prefs(QbsManager::settings(), profileName); params.setSearchPaths(prefs.searchPaths(resourcesBaseDirectory())); params.setPluginPaths(prefs.pluginPaths(pluginsBaseDirectory())); + params.setLibexecPath(libExecDirectory()); m_qbsSetupProjectJob = m_project.setupProject(params, QbsManager::logSink(), 0); @@ -163,6 +164,14 @@ QString QbsProjectParser::resourcesBaseDirectory() const return Core::ICore::resourcePath() + QLatin1String("/qbs"); } +QString QbsProjectParser::libExecDirectory() const +{ + const QString qbsInstallDir = QLatin1String(QBS_INSTALL_DIR); + if (!qbsInstallDir.isEmpty()) + return qbsInstallDir + QLatin1String("/libexec"); + return Core::ICore::libexecPath(); +} + QString QbsProjectParser::pluginsBaseDirectory() const { const QString qbsInstallDir = QLatin1String(QBS_INSTALL_DIR); diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.h b/src/plugins/qbsprojectmanager/qbsprojectparser.h index 6d6319394a9..86032052133 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectparser.h +++ b/src/plugins/qbsprojectmanager/qbsprojectparser.h @@ -69,6 +69,7 @@ private slots: private: QString pluginsBaseDirectory() const; QString resourcesBaseDirectory() const; + QString libExecDirectory() const; QString m_projectFilePath; qbs::SetupProjectJob *m_qbsSetupProjectJob; diff --git a/src/src.pro b/src/src.pro index ea996ee839d..ee25d3dbc5d 100644 --- a/src/src.pro +++ b/src/src.pro @@ -7,6 +7,7 @@ QBS_DIRS = \ qbscorelib \ qbsqtprofilesetup \ qbsapps \ + qbslibexec \ qbsplugins \ qbsstatic @@ -15,6 +16,8 @@ qbsqtprofilesetup.subdir = shared/qbs/src/lib/qtprofilesetup qbsqtprofilesetup.depends = qbscorelib qbsapps.subdir = shared/qbs/src/app qbsapps.depends = qbsqtprofilesetup +qbslibexec.subdir = shared/qbs/src/libexec +qbslibexec.depends = qbscorelib qbsplugins.subdir = shared/qbs/src/plugins qbsstatic.file = shared/qbs/static.pro diff --git a/src/src.qbs b/src/src.qbs index 48bf9fc2dff..bcb6f2a8651 100644 --- a/src/src.qbs +++ b/src/src.qbs @@ -33,12 +33,16 @@ Project { property string resourcesInstallDir: project.ide_data_path + "/qbs" property string pluginsInstallDir: project.ide_plugin_path property string appInstallDir: project.ide_bin_path + property string libexecInstallDir: project.ide_libexec_path + property string relativeLibexecPath: FileInfo.relativePath(appInstallDir, libexecInstallDir) property string relativePluginsPath: FileInfo.relativePath(appInstallDir, pluginsInstallDir) property string relativeSearchPath: FileInfo.relativePath(appInstallDir, resourcesInstallDir) + property bool enableJava: project.enableQbsJavaSupport references: [ qbsBaseDir + "/src/lib/libs.qbs", + qbsBaseDir + "/src/libexec/libexec.qbs", qbsBaseDir + "/src/plugins/plugins.qbs", qbsBaseDir + "/share/share.qbs", qbsBaseDir + "/src/app/apps.qbs", From 901fcd7e1e59857b9e72a9204c4efefd6db1453f Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 4 Jun 2015 11:52:38 +0200 Subject: [PATCH 04/10] Update qbs submodule. To HEAD of 1.4 branch. Fixes OSX build. Change-Id: I5ea2756d0764e54b41bcbd2dff5e8083af31e768 Reviewed-by: Eike Ziller --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index ef4c4e55c3f..9309633cb82 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit ef4c4e55c3f0bc9c02c84e4b45fdcea1cd491615 +Subproject commit 9309633cb821643be1366f6c87ec31b55e26be09 From f77f04e9ca99de025073c3b0797fc02483755428 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 5 Jun 2015 13:57:09 +0200 Subject: [PATCH 05/10] Fix OpenGL on Linux with Qt 5.5 The XCB platform plugin now needs a plugin for the OpenGL backend Change-Id: I5e7b296a0b645aec2a8d3ba80c53cb946e35e7f1 Reviewed-by: Laszlo Agocs --- scripts/deployqt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/deployqt.py b/scripts/deployqt.py index 8d2cd952208..1932a28134a 100755 --- a/scripts/deployqt.py +++ b/scripts/deployqt.py @@ -281,7 +281,7 @@ def main(): QT_INSTALL_QML = readQmakeVar(qmake_bin, 'QT_INSTALL_QML') QT_INSTALL_TRANSLATIONS = readQmakeVar(qmake_bin, 'QT_INSTALL_TRANSLATIONS') - plugins = ['accessible', 'codecs', 'designer', 'iconengines', 'imageformats', 'platformthemes', 'platforminputcontexts', 'platforms', 'printsupport', 'sqldrivers'] + plugins = ['accessible', 'codecs', 'designer', 'iconengines', 'imageformats', 'platformthemes', 'platforminputcontexts', 'platforms', 'printsupport', 'sqldrivers', 'xcbglintegrations'] imports = ['Qt', 'QtWebKit'] if sys.platform.startswith('win'): From c7b81c60c3c1aa2e840969c0d6b21d299bff55d5 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Tue, 9 Jun 2015 11:33:02 +0200 Subject: [PATCH 06/10] Fix typo in French translation Change-Id: I1eda15d0ea1abcd2f160a11d06e8a89d72ffa1f7 Task-number: QTCREATORBUG-14561 Reviewed-by: Olivier Goffart (Woboq GmbH) --- share/qtcreator/translations/qtcreator_fr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/translations/qtcreator_fr.ts b/share/qtcreator/translations/qtcreator_fr.ts index 780b9924ada..3469e6780ed 100644 --- a/share/qtcreator/translations/qtcreator_fr.ts +++ b/share/qtcreator/translations/qtcreator_fr.ts @@ -53010,7 +53010,7 @@ Nous allons essayer de travailler avec cela mais vous pourrez rencontrer des pro Find in This Directory... - Trouvé dans le répertoire... + Trouver dans le répertoire... Show in Explorer From 483b850aa06325a7d231b011d84775230131735c Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 12 Jun 2015 08:34:41 +0200 Subject: [PATCH 07/10] Valgrind: Fix possible crashes Change-Id: Ifae94d68d6c83f65a1938bfe41b4c5932407c0cf Reviewed-by: hjk --- src/plugins/valgrind/callgrind/callgrindcallmodel.cpp | 5 ++--- src/plugins/valgrind/callgrind/callgrinddatamodel.cpp | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp b/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp index 44d8e33530f..b743e679bca 100644 --- a/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp +++ b/src/plugins/valgrind/callgrind/callgrindcallmodel.cpp @@ -167,9 +167,8 @@ QModelIndex CallModel::index(int row, int column, const QModelIndex &parent) con QVariant CallModel::data(const QModelIndex &index, int role) const { - //QTC_ASSERT(index.isValid() && index.model() == this, return QVariant()); - //QTC_ASSERT(index.column() >= 0 && index.column() < columnCount(index.parent()), return QVariant()); - //QTC_ASSERT(index.row() >= 0 && index.row() < rowCount(index.parent()), return QVariant()); + if (!index.isValid()) + return QVariant(); const FunctionCall *call = d->m_calls.at(index.row()); if (role == Qt::DisplayRole || role == Qt::ToolTipRole) { diff --git a/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp b/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp index 003f3c64087..2ee0cb4a9ce 100644 --- a/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp +++ b/src/plugins/valgrind/callgrind/callgrinddatamodel.cpp @@ -214,9 +214,8 @@ static QString shortenTemplate(QString str) QVariant DataModel::data(const QModelIndex &index, int role) const { - //QTC_ASSERT(index.isValid() && index.model() == this, return QVariant()); - //QTC_ASSERT(index.column() >= 0 && index.column() < columnCount(index.parent()), return QVariant()); - //QTC_ASSERT(index.row() >= 0 && index.row() < rowCount(index.parent()), return QVariant()); + if (!index.isValid()) + return QVariant(); const Function *func = d->m_functions.at(index.row()); From f0467f8b01ba585ef2ee652f618d2badb8ab23b6 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 12 Jun 2015 11:30:43 +0200 Subject: [PATCH 08/10] support Visual Studio 2015 Task-number: QTBUG-46344 Change-Id: I49c3e2776e65cc83d40d1f5ab3be1365d17242d1 Reviewed-by: Friedemann Kleint --- src/plugins/cmakeprojectmanager/generatorinfo.cpp | 9 ++++++--- src/plugins/debugger/cdb/cdbengine.cpp | 2 ++ src/plugins/projectexplorer/abi.cpp | 11 +++++++++-- src/plugins/projectexplorer/abi.h | 1 + .../projectexplorer/abstractmsvctoolchain.cpp | 3 ++- src/plugins/projectexplorer/msvctoolchain.cpp | 12 +++++++++++- .../qbsprojectmanager/defaultpropertyprovider.cpp | 3 ++- 7 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/generatorinfo.cpp b/src/plugins/cmakeprojectmanager/generatorinfo.cpp index 2dfc57e358e..50889185cc1 100644 --- a/src/plugins/cmakeprojectmanager/generatorinfo.cpp +++ b/src/plugins/cmakeprojectmanager/generatorinfo.cpp @@ -72,7 +72,8 @@ QByteArray GeneratorInfo::generator() const || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) { + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) { return "NMake Makefiles"; } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { if (Utils::HostOsInfo::isWindowsHost()) @@ -105,7 +106,8 @@ QString GeneratorInfo::displayName() const || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) { + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) { return tr("NMake Generator (%1)").arg(m_kit->displayName()); } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { if (Utils::HostOsInfo::isWindowsHost()) @@ -140,7 +142,8 @@ QList GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor - || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) { + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) { if (hasCodeBlocks) results << GeneratorInfo(k); } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 69e0d20cf29..eea4a0175ad 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -761,6 +761,8 @@ static QByteArray msvcRunTime(const Abi::OSFlavor flavour) return "MSVCR110"; case Abi::WindowsMsvc2013Flavor: return "MSVCR120"; + case Abi::WindowsMsvc2015Flavor: + return "MSVCR140"; default: break; } diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index f00eb525f4c..b604a6bec91 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -168,6 +168,9 @@ static QList parseCoffHeader(const QByteArray &data) case 12: flavor = Abi::WindowsMsvc2013Flavor; break; + case 14: + flavor = Abi::WindowsMsvc2015Flavor; + break; default: // Keep unknown flavor if (minorLinker != 0) flavor = Abi::WindowsMSysFlavor; // MSVC seems to avoid using minor numbers @@ -414,6 +417,8 @@ Abi::Abi(const QString &abiString) : m_osFlavor = WindowsMsvc2012Flavor; else if (abiParts.at(2) == QLatin1String("msvc2013") && m_os == WindowsOS) m_osFlavor = WindowsMsvc2013Flavor; + else if (abiParts.at(2) == QLatin1String("msvc2015") && m_os == WindowsOS) + m_osFlavor = WindowsMsvc2015Flavor; else if (abiParts.at(2) == QLatin1String("msys") && m_os == WindowsOS) m_osFlavor = WindowsMSysFlavor; else if (abiParts.at(2) == QLatin1String("ce") && m_os == WindowsOS) @@ -674,6 +679,8 @@ QString Abi::toString(const OSFlavor &of) return QLatin1String("msvc2012"); case Abi::WindowsMsvc2013Flavor: return QLatin1String("msvc2013"); + case Abi::WindowsMsvc2015Flavor: + return QLatin1String("msvc2015"); case Abi::WindowsMSysFlavor: return QLatin1String("msys"); case Abi::WindowsCEFlavor: @@ -724,8 +731,8 @@ QList Abi::flavorsForOs(const Abi::OS &o) return result << GenericUnixFlavor << SolarisUnixFlavor << UnknownFlavor; case WindowsOS: return result << WindowsMsvc2005Flavor << WindowsMsvc2008Flavor << WindowsMsvc2010Flavor - << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMSysFlavor - << WindowsCEFlavor << UnknownFlavor; + << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMsvc2015Flavor + << WindowsMSysFlavor << WindowsCEFlavor << UnknownFlavor; case VxWorks: return result << VxWorksFlavor << UnknownFlavor; case UnknownOS: diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h index 4f6fbd81b79..c0ebe5f9f73 100644 --- a/src/plugins/projectexplorer/abi.h +++ b/src/plugins/projectexplorer/abi.h @@ -90,6 +90,7 @@ public: WindowsMsvc2010Flavor, WindowsMsvc2012Flavor, WindowsMsvc2013Flavor, + WindowsMsvc2015Flavor, WindowsMSysFlavor, WindowsCEFlavor, diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index 2b8cb72c58b..fcdc9dd78b0 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -101,7 +101,8 @@ ToolChain::CompilerFlags AbstractMsvcToolChain::compilerFlags(const QStringList if (m_abi.osFlavor() == Abi::WindowsMsvc2010Flavor || m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor - || m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor) + || m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor + || m_abi.osFlavor() == Abi::WindowsMsvc2015Flavor) flags |= StandardCxx11; return flags; diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 8a035417120..881a7dc9a52 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -135,7 +135,9 @@ static Abi findAbiOfMsvc(MsvcToolChain::Type type, MsvcToolChain::Platform platf else if (version == QLatin1String("v7.0A") || version == QLatin1String("v7.1")) msvcVersionString = QLatin1String("10.0"); } - if (msvcVersionString.startsWith(QLatin1String("12."))) + if (msvcVersionString.startsWith(QLatin1String("14."))) + flavor = Abi::WindowsMsvc2015Flavor; + else if (msvcVersionString.startsWith(QLatin1String("12."))) flavor = Abi::WindowsMsvc2013Flavor; else if (msvcVersionString.startsWith(QLatin1String("11."))) flavor = Abi::WindowsMsvc2012Flavor; @@ -404,6 +406,14 @@ QList MsvcToolChain::suggestedMkspecList() const << Utils::FileName::fromLatin1("winrt-x64-msvc2013") << Utils::FileName::fromLatin1("win32-msvc2012") << Utils::FileName::fromLatin1("win32-msvc2010"); + case Abi::WindowsMsvc2015Flavor: + return QList() + << Utils::FileName::fromLatin1("win32-msvc2015") + << Utils::FileName::fromLatin1("winphone-arm-msvc2015") + << Utils::FileName::fromLatin1("winphone-x86-msvc2015") + << Utils::FileName::fromLatin1("winrt-arm-msvc2015") + << Utils::FileName::fromLatin1("winrt-x86-msvc2015") + << Utils::FileName::fromLatin1("winrt-x64-msvc2015"); default: break; } diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp index 9fb3877e21f..1dbf06fa553 100644 --- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp +++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp @@ -257,7 +257,8 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor if (!m.isEmpty()) data.insert(QLatin1String(CPP_COMPILERPATHBYLANGUAGE), m); - if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) { + if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor + || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) { const QLatin1String flags("/FS"); data.insert(QLatin1String(CPP_PLATFORMCFLAGS), flags); data.insert(QLatin1String(CPP_PLATFORMCXXFLAGS), flags); From 52d89196bcb2e450829c0f4d80c4bdedbe7bb98f Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 15 Jun 2015 10:04:24 +0200 Subject: [PATCH 09/10] Version bump Change-Id: I4a9cde2300b1cc14feadaa6240fefebc57fd0e19 Reviewed-by: Eike Ziller --- qtcreator.pri | 2 +- qtcreator.qbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qtcreator.pri b/qtcreator.pri index 9701a9cad7c..06ce4615fd3 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -1,7 +1,7 @@ !isEmpty(QTCREATOR_PRI_INCLUDED):error("qtcreator.pri already included") QTCREATOR_PRI_INCLUDED = 1 -QTCREATOR_VERSION = 3.4.1 +QTCREATOR_VERSION = 3.4.2 QTCREATOR_COMPAT_VERSION = 3.4.0 BINARY_ARTIFACTS_BRANCH = 3.4 diff --git a/qtcreator.qbs b/qtcreator.qbs index ed18dbf37d6..4d6d1f213b6 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -6,7 +6,7 @@ Project { property bool withAutotests: qbs.buildVariant === "debug" property string ide_version_major: '3' property string ide_version_minor: '4' - property string ide_version_release: '1' + property string ide_version_release: '2' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release property string ide_compat_version_major: '3' property string ide_compat_version_minor: '4' From 50c6343615e12398524d1a126fb19d6b8934337a Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Fri, 29 May 2015 17:26:13 +0200 Subject: [PATCH 10/10] Squish: Remove outdated kit handling code Change-Id: I69f1b6d0d27e9330ff23de0b9d5a09ef02f353ac Reviewed-by: Christian Stenger --- tests/system/shared/classes.py | 11 ++--------- tests/system/shared/project.py | 8 -------- tests/system/shared/utils.py | 11 +++-------- .../suite_general/tst_create_proj_wizard/test.py | 8 -------- 4 files changed, 5 insertions(+), 33 deletions(-) diff --git a/tests/system/shared/classes.py b/tests/system/shared/classes.py index de02b8e5d35..7e8830d0902 100644 --- a/tests/system/shared/classes.py +++ b/tests/system/shared/classes.py @@ -32,13 +32,11 @@ import operator # for easier re-usage (because Python hasn't an enum type) class Targets: - ALL_TARGETS = map(lambda x: 2 ** x , range(9)) + ALL_TARGETS = map(lambda x: 2 ** x , range(7)) (DESKTOP_474_GCC, DESKTOP_480_DEFAULT, SIMULATOR, - MAEMO5, - HARMATTAN, EMBEDDED_LINUX, DESKTOP_521_DEFAULT, DESKTOP_531_DEFAULT, @@ -46,8 +44,7 @@ class Targets: @staticmethod def desktopTargetClasses(): - desktopTargets = (sum(Targets.ALL_TARGETS) & ~Targets.SIMULATOR & ~Targets.MAEMO5 - & ~Targets.HARMATTAN & ~Targets.EMBEDDED_LINUX) + desktopTargets = (sum(Targets.ALL_TARGETS) & ~Targets.SIMULATOR & ~Targets.EMBEDDED_LINUX) if platform.system() == 'Darwin': desktopTargets &= ~Targets.DESKTOP_541_GCC return desktopTargets @@ -61,12 +58,8 @@ class Targets: return "Desktop 480 MSVC2010" else: return "Desktop 480 GCC" - elif target == Targets.MAEMO5: - return "Fremantle" elif target == Targets.SIMULATOR: return "Qt Simulator" - elif target == Targets.HARMATTAN: - return "Harmattan" elif target == Targets.EMBEDDED_LINUX: return "Embedded Linux" elif target == Targets.DESKTOP_521_DEFAULT: diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index d3abc1cf6d2..9c9c75dc699 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -394,9 +394,6 @@ def __chooseTargets__(targets=Targets.DESKTOP_474_GCC, availableTargets=None): available.remove(Targets.EMBEDDED_LINUX) elif platform.system() == 'Darwin': available.remove(Targets.DESKTOP_541_GCC) - for target in filter(lambda x: x in available, - (Targets.MAEMO5, Targets.HARMATTAN)): - available.remove(target) checkedTargets = [] for current in available: mustCheck = targets & current == current @@ -624,14 +621,9 @@ def __getSupportedPlatforms__(text, templateName, getAsStrings=False): result.extend([Targets.DESKTOP_521_DEFAULT, Targets.DESKTOP_531_DEFAULT]) if platform.system() != 'Darwin': result.append(Targets.DESKTOP_541_GCC) - if 'MeeGo/Harmattan' in supports: - result.append(Targets.HARMATTAN) - if 'Maemo/Fremantle' in supports: - result.append(Targets.MAEMO5) if not ("BlackBerry" in templateName or re.search("custom Qt Creator plugin", text)) and (version == None or version < "5.0"): result.append(Targets.SIMULATOR) elif 'Platform independent' in text: - # MAEMO5 and HARMATTAN could be wrong here - depends on having Madde plugin enabled or not result = list(Targets.ALL_TARGETS) result.remove(Targets.EMBEDDED_LINUX) if platform.system() == 'Darwin': diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index e2e2535bbac..08e36005031 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -380,20 +380,15 @@ def getConfiguredKits(): iterateKits(True, True, __setQtVersionForKit__, kitsWithQtVersionName) # merge defined target names with their configured Qt versions and devices for kit, qtVersion in kitsWithQtVersionName.iteritems(): - if kit in ('Fremantle', 'Harmattan') and qtVersion == 'None': - test.log("Found Kit '%s' with unassigned Qt version (disabled Madde plugin)" % kit) + if kit in ('Fremantle', 'Harmattan'): + test.verify(qtVersion == 'None', + "The outdated kit '%s' should not have a Qt version" % kit) elif qtVersion in qtVersionNames: result[kit] = targetsQtVersions[qtVersionNames.index(qtVersion)].items()[0] else: test.fail("Qt version '%s' for kit '%s' can't be found in qtVersionNames." % (qtVersion, kit)) clickButton(waitForObject(":Options.Cancel_QPushButton")) - # adjust device name(s) to match getStringForTarget() - some differ from time to time - for targetName in result.keys(): - targetInfo = result[targetName] - if targetInfo[0] == "Maemo": - result.update({targetName: - (Targets.getStringForTarget(Targets.MAEMO5), targetInfo[1])}) test.log("Configured kits: %s" % str(result)) return result diff --git a/tests/system/suite_general/tst_create_proj_wizard/test.py b/tests/system/suite_general/tst_create_proj_wizard/test.py index 2570e519dce..8d0de10b226 100644 --- a/tests/system/suite_general/tst_create_proj_wizard/test.py +++ b/tests/system/suite_general/tst_create_proj_wizard/test.py @@ -49,10 +49,7 @@ def main(): test.compare("Projects", str(projects.data())) comboBox = findObject(":New.comboBox_QComboBox") targets = zip(*kits.values())[0] - maddeTargets = Targets.getTargetsAsStrings([Targets.MAEMO5, Targets.HARMATTAN]) - maddeInTargets = len(set(targets) & set(maddeTargets)) > 0 test.verify(comboBox.enabled, "Verifying whether combobox is enabled.") - test.verify(not maddeInTargets, "Verify there are no leftovers of Madde") test.compare(comboBox.currentText, "Desktop Templates") selectFromCombo(comboBox, "All Templates") for category in [item.replace(".", "\\.") for item in dumpItems(catModel, projects)]: @@ -84,11 +81,6 @@ def main(): if counter < len(quickCombinations) - 1: displayedPlatforms = __createProject__(category, template) continue - try: - waitForObject("{name='mainQmlFileGroupBox' title='Main HTML File' type='QGroupBox' visible='1'}", 1000) - clickButton(waitForObject(":Next_QPushButton")) - except LookupError: - pass verifyKitCheckboxes(kits, displayedPlatforms) clickButton(waitForObject("{type='QPushButton' text='Cancel' visible='1'}")) invokeMenuItem("File", "Exit")