mirror of
https://github.com/reactos/CMake.git
synced 2025-03-04 18:07:27 +00:00
Merge topic 'file-generate-path-cleanup'
c41a7c7d file: Normalize GENERATE command input and output file paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !940
This commit is contained in:
commit
591557ba45
@ -51,11 +51,15 @@ void cmGeneratorExpressionEvaluationFile::Generate(
|
||||
}
|
||||
}
|
||||
|
||||
const std::string outputFileName = this->OutputFileExpr->Evaluate(
|
||||
std::string outputFileName = this->OutputFileExpr->Evaluate(
|
||||
lg, config, false, CM_NULLPTR, CM_NULLPTR, CM_NULLPTR, lang);
|
||||
const std::string outputContent = inputExpression->Evaluate(
|
||||
lg, config, false, CM_NULLPTR, CM_NULLPTR, CM_NULLPTR, lang);
|
||||
|
||||
if (cmSystemTools::FileIsFullPath(outputFileName)) {
|
||||
outputFileName = cmSystemTools::CollapseFullPath(outputFileName);
|
||||
}
|
||||
|
||||
std::map<std::string, std::string>::iterator it =
|
||||
outputFiles.find(outputFileName);
|
||||
|
||||
@ -111,12 +115,16 @@ void cmGeneratorExpressionEvaluationFile::Generate(cmLocalGenerator* lg)
|
||||
if (this->InputIsContent) {
|
||||
inputContent = this->Input;
|
||||
} else {
|
||||
lg->GetMakefile()->AddCMakeDependFile(this->Input);
|
||||
cmSystemTools::GetPermissions(this->Input.c_str(), perm);
|
||||
cmsys::ifstream fin(this->Input.c_str());
|
||||
std::string inputFileName = this->Input;
|
||||
if (cmSystemTools::FileIsFullPath(inputFileName)) {
|
||||
inputFileName = cmSystemTools::CollapseFullPath(inputFileName);
|
||||
}
|
||||
lg->GetMakefile()->AddCMakeDependFile(inputFileName);
|
||||
cmSystemTools::GetPermissions(inputFileName.c_str(), perm);
|
||||
cmsys::ifstream fin(inputFileName.c_str());
|
||||
if (!fin) {
|
||||
std::ostringstream e;
|
||||
e << "Evaluation file \"" << this->Input << "\" cannot be read.";
|
||||
e << "Evaluation file \"" << inputFileName << "\" cannot be read.";
|
||||
lg->IssueMessage(cmake::FATAL_ERROR, e.str());
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user