ENH: Add access for all environment variables

This commit is contained in:
Andy Cedilnik 2006-03-17 10:58:37 -05:00
parent c499c0d273
commit f44fedd3e9
2 changed files with 14 additions and 0 deletions

View File

@ -56,6 +56,8 @@
# pragma set woff 1375 /* base class destructor not virtual */ # pragma set woff 1375 /* base class destructor not virtual */
#endif #endif
extern char** environ; // For GetEnvironmentVariables
bool cmSystemTools::s_RunCommandHideConsole = false; bool cmSystemTools::s_RunCommandHideConsole = false;
bool cmSystemTools::s_DisableRunCommandOutput = false; bool cmSystemTools::s_DisableRunCommandOutput = false;
bool cmSystemTools::s_ErrorOccured = false; bool cmSystemTools::s_ErrorOccured = false;
@ -1278,6 +1280,17 @@ bool cmSystemTools::PutEnv(const char* value)
return ret == 0; return ret == 0;
} }
std::vector<cmStdString> cmSystemTools::GetEnvironmentVariables()
{
std::vector<cmStdString> env;
int cc;
for ( cc = 0; environ[cc]; ++ cc )
{
env.push_back(environ[cc]);
}
return env;
}
void cmSystemTools::EnableVSConsoleOutput() void cmSystemTools::EnableVSConsoleOutput()
{ {
// Visual Studio 8 2005 (devenv.exe or VCExpress.exe) will not // Visual Studio 8 2005 (devenv.exe or VCExpress.exe) will not

View File

@ -294,6 +294,7 @@ public:
/** put a string into the environment /** put a string into the environment
of the form var=value */ of the form var=value */
static bool PutEnv(const char* value); static bool PutEnv(const char* value);
static std::vector<cmStdString> GetEnvironmentVariables();
/** Setup the environment to enable VS 8 IDE output. */ /** Setup the environment to enable VS 8 IDE output. */
static void EnableVSConsoleOutput(); static void EnableVSConsoleOutput();