CMakeProjectManager: Use more FilePath

Change-Id: Ifa3e754c224cd6ec315d49cd825aa78ac59b5ad9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-06-20 15:00:35 +02:00
parent 2a61736264
commit d18768b53a

View File

@@ -772,17 +772,20 @@ void CMakeBuildStep::updateDeploymentData()
DeploymentData deploymentData; DeploymentData deploymentData;
deploymentData.setLocalInstallRoot(rootDir); deploymentData.setLocalInstallRoot(rootDir);
const int startPos = rootDir.path().length(); IDeviceConstPtr device = BuildDeviceKitAspect::device(buildSystem()->kit());
const auto appFileNames = transform<QSet<QString>>(buildSystem()->applicationTargets(), const auto appFileNames = transform<QSet<QString>>(buildSystem()->applicationTargets(),
[](const BuildTargetInfo &appTarget) { return appTarget.targetFilePath.fileName(); }); [](const BuildTargetInfo &appTarget) { return appTarget.targetFilePath.fileName(); });
auto handleFile = [&appFileNames, startPos, &deploymentData](const FilePath &filePath) { auto handleFile = [&appFileNames, rootDir, &deploymentData, device](const FilePath &filePath) {
const DeployableFile::Type type = appFileNames.contains(filePath.fileName()) const DeployableFile::Type type = appFileNames.contains(filePath.fileName())
? DeployableFile::TypeExecutable ? DeployableFile::TypeExecutable
: DeployableFile::TypeNormal; : DeployableFile::TypeNormal;
const QString targetDir = filePath.parentDir().path().mid(startPos);
deploymentData.addFile(filePath, targetDir, type); FilePath targetDirPath = filePath.parentDir().relativePathFrom(rootDir);
const FilePath targetDir = device->rootPath().pathAppended(targetDirPath.path());
deploymentData.addFile(filePath, targetDir.nativePath(), type);
return IterationPolicy::Continue; return IterationPolicy::Continue;
}; };