CMakePM: Refactor "Initial Parameters" as a tab bar item

Now we have "Initial Configuration" and "Current Configuration"
as tab bar buttons.

This way the UI can be shared between the two configuration states.

Task-number: QTCREATORBUG-26869
Change-Id: I8206032a2a5ac076629865057816edb99706f2ff
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Cristian Adam
2021-12-28 21:42:29 +01:00
parent 6ece15f587
commit a0836a29c7
12 changed files with 457 additions and 122 deletions

View File

@@ -110,8 +110,10 @@ void FileApiReader::parse(bool forceCMakeRun,
const QStringList args = (forceInitialConfiguration ? m_parameters.initialCMakeArguments
: QStringList())
+ (forceExtraConfiguration ? m_parameters.extraCMakeArguments
: QStringList());
+ (forceExtraConfiguration
? (m_parameters.configurationChangesArguments
+ m_parameters.additionalCMakeArguments)
: QStringList());
qCDebug(cmakeFileApiMode) << "Parameters request these CMake arguments:" << args;
const FilePath replyFile = FileApiParser::scanForCMakeReplyFile(m_parameters.buildDirectory);
@@ -323,12 +325,11 @@ void FileApiReader::writeConfigurationIntoBuildDirectory(const QStringList &conf
QTC_CHECK(buildDir.ensureWritableDir());
QByteArray contents;
QStringList unknownArguments;
contents.append("# This file is managed by Qt Creator, do not edit!\n\n");
contents.append(
transform(CMakeConfig::fromArguments(configurationArguments).toList(),
[](const CMakeConfigItem &item) {
return item.toCMakeSetLine(nullptr);
})
transform(CMakeConfig::fromArguments(configurationArguments, unknownArguments).toList(),
[](const CMakeConfigItem &item) { return item.toCMakeSetLine(nullptr); })
.join('\n')
.toUtf8());