/*============================================================================ CMake - Cross Platform Makefile Generator Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "cmTest.h" #include "cmSystemTools.h" #include "cmake.h" #include "cmMakefile.h" //---------------------------------------------------------------------------- cmTest::cmTest(cmMakefile* mf) : Backtrace(mf->GetBacktrace()) { this->Makefile = mf; this->OldStyle = true; this->Properties.SetCMakeInstance(mf->GetCMakeInstance()); } //---------------------------------------------------------------------------- cmTest::~cmTest() { } //---------------------------------------------------------------------------- cmListFileBacktrace const& cmTest::GetBacktrace() const { return this->Backtrace; } //---------------------------------------------------------------------------- void cmTest::SetName(const std::string& name) { this->Name = name; } //---------------------------------------------------------------------------- void cmTest::SetCommand(std::vector const& command) { this->Command = command; } //---------------------------------------------------------------------------- const char *cmTest::GetProperty(const std::string& prop) const { bool chain = false; const char *retVal = this->Properties.GetPropertyValue(prop, cmProperty::TEST, chain); if (chain) { return this->Makefile->GetProperty(prop,cmProperty::TEST); } return retVal; } //---------------------------------------------------------------------------- bool cmTest::GetPropertyAsBool(const std::string& prop) const { return cmSystemTools::IsOn(this->GetProperty(prop)); } //---------------------------------------------------------------------------- void cmTest::SetProperty(const std::string& prop, const char* value) { this->Properties.SetProperty(prop, value, cmProperty::TEST); } //---------------------------------------------------------------------------- void cmTest::AppendProperty(const std::string& prop, const char* value, bool asString) { this->Properties.AppendProperty(prop, value, cmProperty::TEST, asString); }