| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| file Copyright.txt or https://cmake.org/licensing for details. */ |
| #include "cmWorkingDirectory.h" |
| #include "cmSystemTools.h" |
| cmWorkingDirectory::cmWorkingDirectory(std::string const& newdir) |
| this->OldDir = cmSystemTools::GetCurrentWorkingDirectory(); |
| this->SetDirectory(newdir); |
| cmWorkingDirectory::~cmWorkingDirectory() |
| bool cmWorkingDirectory::SetDirectory(std::string const& newdir) |
| if (cmSystemTools::ChangeDirectory(newdir)) { |
| this->ResultCode = errno; |
| void cmWorkingDirectory::Pop() |
| if (!this->OldDir.empty()) { |
| this->SetDirectory(this->OldDir); |