/*============================================================================ 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 "cmMakefile.h" #include "cmake.h" cmTest::cmTest(cmMakefile* mf) : Backtrace(mf->GetBacktrace()) { this->Makefile = mf; this->OldStyle = true; } 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 { const char *retVal = this->Properties.GetPropertyValue(prop); if (!retVal) { const bool chain = this->Makefile->GetState()-> IsPropertyChained(prop, cmProperty::TEST); if (chain) { return this->Makefile->GetProperty(prop, chain); } } 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); } void cmTest::AppendProperty(const std::string& prop, const char* value, bool asString) { this->Properties.AppendProperty(prop, value, asString); }