summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2021-05-04 11:57:47 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2021-05-11 16:16:08 (GMT)
commitf5fa6d53b07d5c6224de2a491856a36fe3516218 (patch)
tree6264fdf11117e16c71ff5d4431c6a461170856a0
parentb1729200c318dab23daac8643da5f9fdc673a5ef (diff)
downloadCMake-f5fa6d53b07d5c6224de2a491856a36fe3516218.zip
CMake-f5fa6d53b07d5c6224de2a491856a36fe3516218.tar.gz
CMake-f5fa6d53b07d5c6224de2a491856a36fe3516218.tar.bz2
class cmake: Store working directory at cmake launch
-rw-r--r--Source/cmake.cxx3
-rw-r--r--Source/cmake.h9
2 files changed, 11 insertions, 1 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 6123497..5440984 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -157,7 +157,8 @@ static void cmWarnUnusedCliWarning(const std::string& variable, int /*unused*/,
#endif
cmake::cmake(Role role, cmState::Mode mode)
- : FileTimeCache(cm::make_unique<cmFileTimeCache>())
+ : CMakeWorkingDirectory(cmSystemTools::GetCurrentWorkingDirectory())
+ , FileTimeCache(cm::make_unique<cmFileTimeCache>())
#ifndef CMAKE_BOOTSTRAP
, VariableWatch(cm::make_unique<cmVariableWatch>())
#endif
diff --git a/Source/cmake.h b/Source/cmake.h
index 9b29098..e845662 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -194,6 +194,14 @@ public:
//@}
/**
+ * Working directory at CMake launch
+ */
+ std::string const& GetCMakeWorkingDirectory() const
+ {
+ return this->CMakeWorkingDirectory;
+ }
+
+ /**
* Handle a command line invocation of cmake.
*/
int Run(const std::vector<std::string>& args)
@@ -628,6 +636,7 @@ protected:
void GenerateGraphViz(const std::string& fileName) const;
private:
+ std::string CMakeWorkingDirectory;
ProgressCallbackType ProgressCallback;
WorkingMode CurrentWorkingMode = NORMAL_MODE;
bool DebugOutput = false;