/* 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(); cmSystemTools::ChangeDirectory(newdir); } cmWorkingDirectory::~cmWorkingDirectory() { this->Pop(); } void cmWorkingDirectory::Pop() { if (!this->OldDir.empty()) { cmSystemTools::ChangeDirectory(this->OldDir); this->OldDir.clear(); } }