mirror of
https://github.com/reactos/CMake.git
synced 2024-11-27 05:20:34 +00:00
Simplify absolute path conversions using CollapseFullPath full signature
This commit is contained in:
parent
12b39aef75
commit
25f48761fa
@ -2327,12 +2327,9 @@ bool HandleLockCommand(std::vector<std::string> const& args,
|
||||
path += "/cmake.lock";
|
||||
}
|
||||
|
||||
if (!cmsys::SystemTools::FileIsFullPath(path)) {
|
||||
path = status.GetMakefile().GetCurrentSourceDirectory() + "/" + path;
|
||||
}
|
||||
|
||||
// Unify path (remove '//', '/../', ...)
|
||||
path = cmSystemTools::CollapseFullPath(path);
|
||||
path = cmSystemTools::CollapseFullPath(
|
||||
path, status.GetMakefile().GetCurrentSourceDirectory());
|
||||
|
||||
// Create file and directories if needed
|
||||
std::string parentDir = cmSystemTools::GetParentDirectory(path);
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
namespace {
|
||||
@ -37,14 +36,8 @@ bool cmGetDirectoryPropertyCommand(std::vector<std::string> const& args,
|
||||
"DIRECTORY argument provided without subsequent arguments");
|
||||
return false;
|
||||
}
|
||||
std::string sd = *i;
|
||||
// make sure the start dir is a full path
|
||||
if (!cmSystemTools::FileIsFullPath(sd)) {
|
||||
sd = cmStrCat(status.GetMakefile().GetCurrentSourceDirectory(), '/', *i);
|
||||
}
|
||||
|
||||
// The local generators are associated with collapsed paths.
|
||||
sd = cmSystemTools::CollapseFullPath(sd);
|
||||
std::string sd = cmSystemTools::CollapseFullPath(
|
||||
*i, status.GetMakefile().GetCurrentSourceDirectory());
|
||||
|
||||
// lookup the makefile from the directory name
|
||||
dir = status.GetMakefile().GetGlobalGenerator()->FindMakefile(sd);
|
||||
|
@ -256,14 +256,8 @@ bool HandleDirectoryMode(cmExecutionStatus& status, const std::string& name,
|
||||
if (!name.empty()) {
|
||||
// Construct the directory name. Interpret relative paths with
|
||||
// respect to the current directory.
|
||||
std::string dir = name;
|
||||
if (!cmSystemTools::FileIsFullPath(dir)) {
|
||||
dir =
|
||||
cmStrCat(status.GetMakefile().GetCurrentSourceDirectory(), '/', name);
|
||||
}
|
||||
|
||||
// The local generators are associated with collapsed paths.
|
||||
dir = cmSystemTools::CollapseFullPath(dir);
|
||||
std::string dir = cmSystemTools::CollapseFullPath(
|
||||
name, status.GetMakefile().GetCurrentSourceDirectory());
|
||||
|
||||
// Lookup the generator.
|
||||
mf = status.GetMakefile().GetGlobalGenerator()->FindMakefile(dir);
|
||||
|
@ -144,8 +144,9 @@ std::string cmLocalNinjaGenerator::ConvertToIncludeReference(
|
||||
bool forceFullPaths)
|
||||
{
|
||||
if (forceFullPaths) {
|
||||
return this->ConvertToOutputFormat(cmSystemTools::CollapseFullPath(path),
|
||||
format);
|
||||
return this->ConvertToOutputFormat(
|
||||
cmSystemTools::CollapseFullPath(path, this->GetCurrentBinaryDirectory()),
|
||||
format);
|
||||
}
|
||||
return this->ConvertToOutputFormat(
|
||||
this->MaybeConvertToRelativePath(this->GetBinaryDirectory(), path),
|
||||
|
@ -1245,8 +1245,10 @@ void cmMakefileTargetGenerator::GenerateCustomRuleFile(
|
||||
|
||||
// Setup implicit dependency scanning.
|
||||
for (auto const& idi : ccg.GetCC().GetImplicitDepends()) {
|
||||
std::string objFullPath = cmSystemTools::CollapseFullPath(outputs[0]);
|
||||
std::string srcFullPath = cmSystemTools::CollapseFullPath(idi.second);
|
||||
std::string objFullPath = cmSystemTools::CollapseFullPath(
|
||||
outputs[0], this->LocalGenerator->GetCurrentBinaryDirectory());
|
||||
std::string srcFullPath = cmSystemTools::CollapseFullPath(
|
||||
idi.second, this->LocalGenerator->GetCurrentBinaryDirectory());
|
||||
this->LocalGenerator->AddImplicitDepends(this->GeneratorTarget, idi.first,
|
||||
objFullPath, srcFullPath);
|
||||
}
|
||||
|
@ -235,14 +235,8 @@ bool HandleDirectoryMode(cmExecutionStatus& status,
|
||||
if (!names.empty()) {
|
||||
// Construct the directory name. Interpret relative paths with
|
||||
// respect to the current directory.
|
||||
std::string dir = *names.begin();
|
||||
if (!cmSystemTools::FileIsFullPath(dir)) {
|
||||
dir = cmStrCat(status.GetMakefile().GetCurrentSourceDirectory(), '/',
|
||||
*names.begin());
|
||||
}
|
||||
|
||||
// The local generators are associated with collapsed paths.
|
||||
dir = cmSystemTools::CollapseFullPath(dir);
|
||||
std::string dir = cmSystemTools::CollapseFullPath(
|
||||
*names.begin(), status.GetMakefile().GetCurrentSourceDirectory());
|
||||
|
||||
mf = status.GetMakefile().GetGlobalGenerator()->FindMakefile(dir);
|
||||
if (!mf) {
|
||||
|
@ -30,18 +30,6 @@ std::vector<std::string> tokenizePath(const std::string& path)
|
||||
return cmTokenize(path, "\\/");
|
||||
}
|
||||
|
||||
std::string getFullFilePath(const std::string& currentPath,
|
||||
const std::string& path)
|
||||
{
|
||||
std::string fullPath = path;
|
||||
|
||||
if (!cmSystemTools::FileIsFullPath(path)) {
|
||||
fullPath = cmStrCat(currentPath, '/', path);
|
||||
}
|
||||
|
||||
return cmSystemTools::CollapseFullPath(fullPath);
|
||||
}
|
||||
|
||||
std::set<std::string> getSourceGroupFilesPaths(
|
||||
const std::string& root, const std::vector<std::string>& files)
|
||||
{
|
||||
@ -124,7 +112,8 @@ bool addFilesToItsSourceGroups(const std::string& root,
|
||||
errorMsg = "Could not create source group for file: " + sgFilesPath;
|
||||
return false;
|
||||
}
|
||||
const std::string fullPath = getFullFilePath(root, sgFilesPath);
|
||||
const std::string fullPath =
|
||||
cmSystemTools::CollapseFullPath(sgFilesPath, root);
|
||||
sg->AddGroupFile(fullPath);
|
||||
}
|
||||
}
|
||||
@ -255,10 +244,8 @@ bool cmSourceGroupCommand(std::vector<std::string> const& args,
|
||||
parsedArguments[kFilesOptionName];
|
||||
for (auto const& filesArg : filesArguments) {
|
||||
std::string src = filesArg;
|
||||
if (!cmSystemTools::FileIsFullPath(src)) {
|
||||
src = cmStrCat(mf.GetCurrentSourceDirectory(), '/', filesArg);
|
||||
}
|
||||
src = cmSystemTools::CollapseFullPath(src);
|
||||
src =
|
||||
cmSystemTools::CollapseFullPath(src, mf.GetCurrentSourceDirectory());
|
||||
sg->AddGroupFile(src);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user