forked from qt-creator/qt-creator
CMake: Use FilePath for cmakeExecutable in preset parser
Shifts the boundary bit, no change in functionality intended. Change-Id: I0442fd4804d368813235e38f27f82e8a3c04df20 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -362,7 +362,7 @@ static CMakeConfig configurationFromPresetProbe(
|
||||
Process cmake;
|
||||
cmake.setDisableUnixTerminal();
|
||||
|
||||
const FilePath cmakeExecutable = FilePath::fromString(configurePreset.cmakeExecutable.value());
|
||||
const FilePath cmakeExecutable = configurePreset.cmakeExecutable.value();
|
||||
|
||||
Environment env = cmakeExecutable.deviceEnvironment();
|
||||
CMakePresets::Macros::expand(configurePreset, env, sourceDirectory);
|
||||
@@ -844,21 +844,21 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
if (!configurePreset.cmakeExecutable) {
|
||||
const CMakeTool *cmakeTool = CMakeToolManager::defaultCMakeTool();
|
||||
if (cmakeTool) {
|
||||
configurePreset.cmakeExecutable = cmakeTool->cmakeExecutable().toString();
|
||||
configurePreset.cmakeExecutable = cmakeTool->cmakeExecutable();
|
||||
} else {
|
||||
configurePreset.cmakeExecutable = QString();
|
||||
configurePreset.cmakeExecutable = FilePath();
|
||||
TaskHub::addTask(
|
||||
BuildSystemTask(Task::TaskType::Error, Tr::tr("<No CMake Tool available>")));
|
||||
TaskHub::requestPopup();
|
||||
}
|
||||
} else {
|
||||
QString cmakeExecutable = configurePreset.cmakeExecutable.value();
|
||||
QString cmakeExecutable = configurePreset.cmakeExecutable.value().toString();
|
||||
CMakePresets::Macros::expand(configurePreset, env, projectDirectory(), cmakeExecutable);
|
||||
|
||||
configurePreset.cmakeExecutable = FilePath::fromUserInput(cmakeExecutable).path();
|
||||
configurePreset.cmakeExecutable = FilePath::fromUserInput(cmakeExecutable);
|
||||
}
|
||||
|
||||
data->cmakeBinary = Utils::FilePath::fromString(configurePreset.cmakeExecutable.value());
|
||||
data->cmakeBinary = configurePreset.cmakeExecutable.value();
|
||||
if (configurePreset.generator)
|
||||
data->generator = configurePreset.generator.value();
|
||||
|
||||
@@ -926,7 +926,7 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
updateCompilerPaths(config, env);
|
||||
config << CMakeConfigItem("CMAKE_COMMAND",
|
||||
CMakeConfigItem::PATH,
|
||||
configurePreset.cmakeExecutable.value().toUtf8());
|
||||
configurePreset.cmakeExecutable.value().toString().toUtf8());
|
||||
if (configurePreset.generator)
|
||||
config << CMakeConfigItem("CMAKE_GENERATOR",
|
||||
CMakeConfigItem::STRING,
|
||||
|
@@ -11,6 +11,8 @@
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
|
||||
using namespace Utils;
|
||||
|
||||
namespace CMakeProjectManager::Internal {
|
||||
|
||||
bool parseVersion(const QJsonValue &jsonValue, int &version)
|
||||
@@ -228,7 +230,7 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
if (object.contains("toolchainFile"))
|
||||
preset.toolchainFile = object.value("toolchainFile").toString();
|
||||
if (object.contains("cmakeExecutable"))
|
||||
preset.cmakeExecutable = object.value("cmakeExecutable").toString();
|
||||
preset.cmakeExecutable = FilePath::fromUserInput(object.value("cmakeExecutable").toString());
|
||||
|
||||
const QJsonObject cacheVariablesObj = object.value("cacheVariables").toObject();
|
||||
for (const QString &cacheKey : cacheVariablesObj.keys()) {
|
||||
|
@@ -103,7 +103,7 @@ public:
|
||||
std::optional<QString> toolchainFile;
|
||||
std::optional<QString> binaryDir;
|
||||
std::optional<QString> installDir;
|
||||
std::optional<QString> cmakeExecutable;
|
||||
std::optional<Utils::FilePath> cmakeExecutable;
|
||||
std::optional<CMakeConfig> cacheVariables;
|
||||
std::optional<Utils::Environment> environment;
|
||||
std::optional<Warnings> warnings;
|
||||
|
Reference in New Issue
Block a user