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;
|
Process cmake;
|
||||||
cmake.setDisableUnixTerminal();
|
cmake.setDisableUnixTerminal();
|
||||||
|
|
||||||
const FilePath cmakeExecutable = FilePath::fromString(configurePreset.cmakeExecutable.value());
|
const FilePath cmakeExecutable = configurePreset.cmakeExecutable.value();
|
||||||
|
|
||||||
Environment env = cmakeExecutable.deviceEnvironment();
|
Environment env = cmakeExecutable.deviceEnvironment();
|
||||||
CMakePresets::Macros::expand(configurePreset, env, sourceDirectory);
|
CMakePresets::Macros::expand(configurePreset, env, sourceDirectory);
|
||||||
@@ -844,21 +844,21 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
|||||||
if (!configurePreset.cmakeExecutable) {
|
if (!configurePreset.cmakeExecutable) {
|
||||||
const CMakeTool *cmakeTool = CMakeToolManager::defaultCMakeTool();
|
const CMakeTool *cmakeTool = CMakeToolManager::defaultCMakeTool();
|
||||||
if (cmakeTool) {
|
if (cmakeTool) {
|
||||||
configurePreset.cmakeExecutable = cmakeTool->cmakeExecutable().toString();
|
configurePreset.cmakeExecutable = cmakeTool->cmakeExecutable();
|
||||||
} else {
|
} else {
|
||||||
configurePreset.cmakeExecutable = QString();
|
configurePreset.cmakeExecutable = FilePath();
|
||||||
TaskHub::addTask(
|
TaskHub::addTask(
|
||||||
BuildSystemTask(Task::TaskType::Error, Tr::tr("<No CMake Tool available>")));
|
BuildSystemTask(Task::TaskType::Error, Tr::tr("<No CMake Tool available>")));
|
||||||
TaskHub::requestPopup();
|
TaskHub::requestPopup();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QString cmakeExecutable = configurePreset.cmakeExecutable.value();
|
QString cmakeExecutable = configurePreset.cmakeExecutable.value().toString();
|
||||||
CMakePresets::Macros::expand(configurePreset, env, projectDirectory(), cmakeExecutable);
|
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)
|
if (configurePreset.generator)
|
||||||
data->generator = configurePreset.generator.value();
|
data->generator = configurePreset.generator.value();
|
||||||
|
|
||||||
@@ -926,7 +926,7 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
|||||||
updateCompilerPaths(config, env);
|
updateCompilerPaths(config, env);
|
||||||
config << CMakeConfigItem("CMAKE_COMMAND",
|
config << CMakeConfigItem("CMAKE_COMMAND",
|
||||||
CMakeConfigItem::PATH,
|
CMakeConfigItem::PATH,
|
||||||
configurePreset.cmakeExecutable.value().toUtf8());
|
configurePreset.cmakeExecutable.value().toString().toUtf8());
|
||||||
if (configurePreset.generator)
|
if (configurePreset.generator)
|
||||||
config << CMakeConfigItem("CMAKE_GENERATOR",
|
config << CMakeConfigItem("CMAKE_GENERATOR",
|
||||||
CMakeConfigItem::STRING,
|
CMakeConfigItem::STRING,
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
|
|
||||||
|
using namespace Utils;
|
||||||
|
|
||||||
namespace CMakeProjectManager::Internal {
|
namespace CMakeProjectManager::Internal {
|
||||||
|
|
||||||
bool parseVersion(const QJsonValue &jsonValue, int &version)
|
bool parseVersion(const QJsonValue &jsonValue, int &version)
|
||||||
@@ -228,7 +230,7 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
|||||||
if (object.contains("toolchainFile"))
|
if (object.contains("toolchainFile"))
|
||||||
preset.toolchainFile = object.value("toolchainFile").toString();
|
preset.toolchainFile = object.value("toolchainFile").toString();
|
||||||
if (object.contains("cmakeExecutable"))
|
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();
|
const QJsonObject cacheVariablesObj = object.value("cacheVariables").toObject();
|
||||||
for (const QString &cacheKey : cacheVariablesObj.keys()) {
|
for (const QString &cacheKey : cacheVariablesObj.keys()) {
|
||||||
|
@@ -103,7 +103,7 @@ public:
|
|||||||
std::optional<QString> toolchainFile;
|
std::optional<QString> toolchainFile;
|
||||||
std::optional<QString> binaryDir;
|
std::optional<QString> binaryDir;
|
||||||
std::optional<QString> installDir;
|
std::optional<QString> installDir;
|
||||||
std::optional<QString> cmakeExecutable;
|
std::optional<Utils::FilePath> cmakeExecutable;
|
||||||
std::optional<CMakeConfig> cacheVariables;
|
std::optional<CMakeConfig> cacheVariables;
|
||||||
std::optional<Utils::Environment> environment;
|
std::optional<Utils::Environment> environment;
|
||||||
std::optional<Warnings> warnings;
|
std::optional<Warnings> warnings;
|
||||||
|
Reference in New Issue
Block a user