diff options
author | Brad King <brad.king@kitware.com> | 2009-08-11 13:07:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-08-11 13:07:28 (GMT) |
commit | 0bc050677f71651ae7ef403ec063af06b6ecd751 (patch) | |
tree | 9114397bec4c196b3b8cdd9ae7a91371ac35719b /Source/cmTest.cxx | |
parent | 6e3c6a1a8028bf02785468fc23244ef5403beb55 (diff) | |
download | CMake-0bc050677f71651ae7ef403ec063af06b6ecd751.zip CMake-0bc050677f71651ae7ef403ec063af06b6ecd751.tar.gz CMake-0bc050677f71651ae7ef403ec063af06b6ecd751.tar.bz2 |
Record backtrace for every add_test command
We teach cmTest to hold a backtrace for the add_test command that
created it. This will be used later to report context for errors at
generate time.
Diffstat (limited to 'Source/cmTest.cxx')
-rw-r--r-- | Source/cmTest.cxx | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/Source/cmTest.cxx b/Source/cmTest.cxx index 5cf7598..8686e06 100644 --- a/Source/cmTest.cxx +++ b/Source/cmTest.cxx @@ -21,15 +21,25 @@ #include "cmMakefile.h" //---------------------------------------------------------------------------- -cmTest::cmTest() +cmTest::cmTest(cmMakefile* mf) { - this->Makefile = 0; + this->Makefile = mf; this->OldStyle = true; + this->Properties.SetCMakeInstance(mf->GetCMakeInstance()); + this->Backtrace = new cmListFileBacktrace; + this->Makefile->GetBacktrace(*this->Backtrace); } //---------------------------------------------------------------------------- cmTest::~cmTest() { + delete this->Backtrace; +} + +//---------------------------------------------------------------------------- +cmListFileBacktrace const& cmTest::GetBacktrace() const +{ + return *this->Backtrace; } //---------------------------------------------------------------------------- @@ -89,13 +99,6 @@ void cmTest::AppendProperty(const char* prop, const char* value) } //---------------------------------------------------------------------------- -void cmTest::SetMakefile(cmMakefile* mf) -{ - this->Makefile = mf; - this->Properties.SetCMakeInstance(mf->GetCMakeInstance()); -} - -//---------------------------------------------------------------------------- void cmTest::DefineProperties(cmake *cm) { cm->DefineProperty |