diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 55cf61d11..3b63e8716 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1280,6 +1280,11 @@ bool cmSystemTools::PutEnv(const char* value) return ret == 0; } +bool cmSystemTools::UnsetEnv(const char* value) +{ + return unsetenv(value) == 0; +} + std::vector cmSystemTools::GetEnvironmentVariables() { std::vector env; diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 8af74ed64..698813919 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -291,9 +291,14 @@ public: */ static std::string RelativePath(const char* local, const char* remote); - /** put a string into the environment + /** Put a string into the environment of the form var=value */ static bool PutEnv(const char* value); + + /** Remove an environment variable */ + static bool UnsetEnv(const char* value); + + /** Get the list of all environment variables */ static std::vector GetEnvironmentVariables(); /** Setup the environment to enable VS 8 IDE output. */