summaryrefslogtreecommitdiffstats
path: root/Source/cmSourceFileLocation.cxx
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2020-01-14 10:17:50 (GMT)
committerTim Blechmann <tim@klingt.org>2020-01-14 10:20:39 (GMT)
commit22f38c0d6b482e99bb793f64c7701259dcf00bd7 (patch)
tree9c920e53c23ad1559c345c1705475619bf7cb7b4 /Source/cmSourceFileLocation.cxx
parent23e782ce05b5996536eff4c075d4bc36a8d8ba85 (diff)
downloadCMake-22f38c0d6b482e99bb793f64c7701259dcf00bd7.zip
CMake-22f38c0d6b482e99bb793f64c7701259dcf00bd7.tar.gz
CMake-22f38c0d6b482e99bb793f64c7701259dcf00bd7.tar.bz2
cmake: avoid getcwd in `CollapseFullPath`
`CollapseFullPath` calls getcwd, which is a rather expensive system call. we can replace it with `GetHomeOutputDirectory()` to save us from the calling overhead
Diffstat (limited to 'Source/cmSourceFileLocation.cxx')
-rw-r--r--Source/cmSourceFileLocation.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/cmSourceFileLocation.cxx b/Source/cmSourceFileLocation.cxx
index df702b0..5f807b8 100644
--- a/Source/cmSourceFileLocation.cxx
+++ b/Source/cmSourceFileLocation.cxx
@@ -31,7 +31,8 @@ cmSourceFileLocation::cmSourceFileLocation(cmMakefile const* mf,
this->AmbiguousExtension = true;
this->Directory = cmSystemTools::GetFilenamePath(name);
if (cmSystemTools::FileIsFullPath(this->Directory)) {
- this->Directory = cmSystemTools::CollapseFullPath(this->Directory);
+ this->Directory = cmSystemTools::CollapseFullPath(
+ this->Directory, mf->GetHomeOutputDirectory());
}
this->Name = cmSystemTools::GetFilenameName(name);
if (kind == cmSourceFileLocationKind::Known) {