diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2009-09-22 18:56:33 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2009-09-22 18:56:33 (GMT) |
commit | e7601ca600ff6a183e85e0cc9408547adefd7e86 (patch) | |
tree | 0bd280786666821a14beab988ec4b7e8623d065c | |
parent | 03d032b637493786bd6b8be5f6fd50ac1c81c13e (diff) | |
download | CMake-e7601ca600ff6a183e85e0cc9408547adefd7e86.zip CMake-e7601ca600ff6a183e85e0cc9408547adefd7e86.tar.gz CMake-e7601ca600ff6a183e85e0cc9408547adefd7e86.tar.bz2 |
Put a flag in that will stop system tools from deleting system environment memory on exit, as it can cause gcov to crash the programs.
-rw-r--r-- | Source/kwsys/Configure.hxx.in | 3 | ||||
-rw-r--r-- | Source/kwsys/SystemTools.cxx | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Source/kwsys/Configure.hxx.in b/Source/kwsys/Configure.hxx.in index 572d710..2f3fe34 100644 --- a/Source/kwsys/Configure.hxx.in +++ b/Source/kwsys/Configure.hxx.in @@ -17,6 +17,9 @@ /* Include C configuration. */ #include <@KWSYS_NAMESPACE@/Configure.h> +/* Disable cleanup of putenv memory for issues with GCOV */ +#cmakedefine KWSYS_DO_NOT_CLEAN_PUTENV + /* Whether ANSI C++ stream headers are to be used. */ #define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@ diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index fe0e31b..2ea54b0 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -415,11 +415,13 @@ public: kwsysDeletingCharVector::~kwsysDeletingCharVector() { +#ifndef KWSYS_DO_NOT_CLEAN_PUTENV for(kwsys_stl::vector<char*>::iterator i = this->begin(); i != this->end(); ++i) { delete []*i; } +#endif } bool SystemTools::PutEnv(const char* value) { |