forked from qt-creator/qt-creator
Utils: Replace FilePath::onDevice() by new FilePath::withMappedPath()
Basically a.onDevice(b) == b.withNewMappedPath(a), matching the order of b.withNewPath(a). Whether the (curretly docker-specific) path mapping is useful /there/, and whether some of the calls are needed at all is dubious. I added some FIXME and changed a few cases directly. Change-Id: I7514736ce922f632f1f737bc496f6783389a42b6 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -701,7 +701,7 @@ void CMakeBuildSettingsWidget::updateConfigureDetailsWidgetsSummary(
|
||||
const FilePath buildDirectory = bc ? bc->buildDirectory() : ".";
|
||||
|
||||
cmd.addArgs({"-S", m_buildSystem->projectDirectory().path()});
|
||||
cmd.addArgs({"-B", buildDirectory.onDevice(cmd.executable()).path()});
|
||||
cmd.addArgs({"-B", cmd.executable().withNewMappedPath(buildDirectory).path()}); // FIXME: Just buildDirectory.path()
|
||||
cmd.addArgs(configurationArguments);
|
||||
|
||||
params.setCommandLine(cmd);
|
||||
|
||||
@@ -383,7 +383,7 @@ CommandLine CMakeBuildStep::cmakeCommand() const
|
||||
if (buildConfiguration())
|
||||
buildDirectory = buildConfiguration()->buildDirectory();
|
||||
|
||||
cmd.addArgs({"--build", buildDirectory.onDevice(cmd.executable()).path()});
|
||||
cmd.addArgs({"--build", cmd.executable().withNewMappedPath(buildDirectory).path()});
|
||||
|
||||
cmd.addArg("--target");
|
||||
cmd.addArgs(Utils::transform(m_buildTargets, [this](const QString &s) {
|
||||
|
||||
@@ -1303,7 +1303,7 @@ MakeInstallCommand CMakeBuildSystem::makeInstallCommand(const FilePath &installR
|
||||
buildDirectory = bc->buildDirectory();
|
||||
|
||||
cmd.command.addArg("--build");
|
||||
cmd.command.addArg(buildDirectory.onDevice(cmd.command.executable()).path());
|
||||
cmd.command.addArg(cmd.command.executable().withNewMappedPath(buildDirectory).path());
|
||||
cmd.command.addArg("--target");
|
||||
cmd.command.addArg(installTarget);
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ CommandLine CMakeInstallStep::cmakeCommand() const
|
||||
if (buildConfiguration())
|
||||
buildDirectory = buildConfiguration()->buildDirectory();
|
||||
|
||||
cmd.addArgs({"--install", buildDirectory.onDevice(cmd.executable()).path()});
|
||||
cmd.addArgs({"--install", cmd.executable().withNewMappedPath(buildDirectory).path()});
|
||||
|
||||
auto bs = qobject_cast<CMakeBuildSystem *>(buildSystem());
|
||||
if (bs && bs->isMultiConfigReader()) {
|
||||
|
||||
@@ -1209,16 +1209,15 @@ Tasks CMakeConfigurationKitAspect::validate(const Kit *k) const
|
||||
FilePath tcCxxPath;
|
||||
for (const CMakeConfigItem &i : config) {
|
||||
// Do not use expand(QByteArray) as we cannot be sure the input is latin1
|
||||
const FilePath expandedValue
|
||||
= FilePath::fromString(k->macroExpander()->expand(QString::fromUtf8(i.value)));
|
||||
const QString expandedValue = k->macroExpander()->expand(QString::fromUtf8(i.value));
|
||||
if (i.key == CMAKE_QMAKE_KEY)
|
||||
qmakePath = expandedValue.onDevice(cmake->cmakeExecutable());
|
||||
qmakePath = cmake->cmakeExecutable().withNewPath(expandedValue);
|
||||
else if (i.key == CMAKE_C_TOOLCHAIN_KEY)
|
||||
tcCPath = expandedValue.onDevice(cmake->cmakeExecutable());
|
||||
tcCPath = cmake->cmakeExecutable().withNewPath(expandedValue);
|
||||
else if (i.key == CMAKE_CXX_TOOLCHAIN_KEY)
|
||||
tcCxxPath = expandedValue.onDevice(cmake->cmakeExecutable());
|
||||
tcCxxPath = cmake->cmakeExecutable().withNewPath(expandedValue);
|
||||
else if (i.key == CMAKE_PREFIX_PATH_KEY)
|
||||
qtInstallDirs = CMakeConfigItem::cmakeSplitValue(expandedValue.path());
|
||||
qtInstallDirs = CMakeConfigItem::cmakeSplitValue(expandedValue);
|
||||
}
|
||||
|
||||
Tasks result;
|
||||
@@ -1259,7 +1258,7 @@ Tasks CMakeConfigurationKitAspect::validate(const Kit *k) const
|
||||
if (!tcC || !tcC->isValid()) {
|
||||
addWarning(Tr::tr("CMake configuration has a path to a C compiler set, "
|
||||
"even though the kit has no valid tool chain."));
|
||||
} else if (tcCPath != tcC->compilerCommand() && tcCPath != tcC->compilerCommand().onDevice(tcCPath)) {
|
||||
} else if (tcCPath != tcC->compilerCommand() && tcCPath != tcCPath.withNewMappedPath(tcC->compilerCommand())) {
|
||||
addWarning(Tr::tr("CMake configuration has a path to a C compiler set "
|
||||
"that does not match the compiler path "
|
||||
"configured in the tool chain of the kit."));
|
||||
@@ -1275,7 +1274,7 @@ Tasks CMakeConfigurationKitAspect::validate(const Kit *k) const
|
||||
if (!tcCxx || !tcCxx->isValid()) {
|
||||
addWarning(Tr::tr("CMake configuration has a path to a C++ compiler set, "
|
||||
"even though the kit has no valid tool chain."));
|
||||
} else if (tcCxxPath != tcCxx->compilerCommand() && tcCxxPath != tcCxx->compilerCommand().onDevice(tcCxxPath)) {
|
||||
} else if (tcCxxPath != tcCxx->compilerCommand() && tcCxxPath != tcCxxPath.withNewMappedPath(tcCxx->compilerCommand())) {
|
||||
addWarning(Tr::tr("CMake configuration has a path to a C++ compiler set "
|
||||
"that does not match the compiler path "
|
||||
"configured in the tool chain of the kit."));
|
||||
|
||||
@@ -67,8 +67,8 @@ void CMakeProcess::run(const BuildDirParameters ¶meters, const QStringList &
|
||||
return;
|
||||
}
|
||||
|
||||
const FilePath sourceDirectory = parameters.sourceDirectory.onDevice(cmakeExecutable);
|
||||
const FilePath buildDirectory = parameters.buildDirectory.onDevice(cmakeExecutable);
|
||||
const FilePath sourceDirectory = cmakeExecutable.withNewMappedPath(parameters.sourceDirectory);
|
||||
const FilePath buildDirectory = cmakeExecutable.withNewMappedPath(parameters.buildDirectory);
|
||||
|
||||
if (!buildDirectory.exists()) {
|
||||
const QString msg = ::CMakeProjectManager::Tr::tr(
|
||||
|
||||
@@ -264,7 +264,7 @@ QList<CMakeBuildTarget> generateBuildTargets(const PreprocessedData &input,
|
||||
continue;
|
||||
|
||||
const FilePath buildDir = haveLibrariesRelativeToBuildDirectory ? buildDirectory : currentBuildDir;
|
||||
FilePath tmp = buildDir.resolvePath(FilePath::fromUserInput(part).onDevice(buildDir));
|
||||
FilePath tmp = buildDir.resolvePath(buildDir.withNewPath(part));
|
||||
|
||||
if (f.role == "libraries")
|
||||
tmp = tmp.parentDir();
|
||||
|
||||
Reference in New Issue
Block a user