summaryrefslogtreecommitdiff
path: root/Source/cmProjectCommand.cxx
diff options
context:
space:
mode:
authorAsit Dhal <dhal.asitk@gmail.com>2020-10-21 11:20:37 +0200
committerAsit Dhal <dhal.asitk@gmail.com>2020-10-21 11:20:37 +0200
commit3c324689a7a3e16b7f232b943efd4ded971467bf (patch)
tree4a424dbf0a4c4995e261cf480339c19f26cfe9dc /Source/cmProjectCommand.cxx
parentef9030a94f1cd65b38daa636ab3b66b3268f8674 (diff)
downloadcmake-3c324689a7a3e16b7f232b943efd4ded971467bf.tar.gz
include: refactor call sites of cmMakefile::ReadDependentFile
Fixes: #16773
Diffstat (limited to 'Source/cmProjectCommand.cxx')
-rw-r--r--Source/cmProjectCommand.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx
index 0cfba63534..ed32de9f3d 100644
--- a/Source/cmProjectCommand.cxx
+++ b/Source/cmProjectCommand.cxx
@@ -358,6 +358,17 @@ static bool IncludeByVariable(cmExecutionStatus& status,
return true;
}
+ std::string includeFile =
+ cmSystemTools::CollapseFullPath(*include, mf.GetCurrentSourceDirectory());
+ if (!cmSystemTools::FileExists(includeFile)) {
+ status.SetError(cmStrCat("could not find requested file:\n ", *include));
+ return false;
+ }
+ if (cmSystemTools::FileIsDirectory(includeFile)) {
+ status.SetError(cmStrCat("requested file is a directory:\n ", *include));
+ return false;
+ }
+
const bool readit = mf.ReadDependentFile(*include);
if (readit) {
return true;
@@ -367,7 +378,7 @@ static bool IncludeByVariable(cmExecutionStatus& status,
return true;
}
- status.SetError(cmStrCat("could not find file:\n ", *include));
+ status.SetError(cmStrCat("could not load requested file:\n ", *include));
return false;
}