/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmTest.h" #include "cmMakefile.h" #include "cmProperty.h" #include "cmState.h" #include "cmStateTypes.h" #include "cmSystemTools.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); }