/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file LICENSE.rst or https://cmake.org/licensing for details. */ #include "cmTestPropertyHelper.h" #include "cmExecutionStatus.h" #include "cmMakefile.h" #include "cmSetPropertyCommand.h" #include "cmTest.h" #include "cmValue.h" cmGetTestPropertyResult cmGetTestProperty(std::string const& testName, std::string const& propertyName, cmExecutionStatus& status, bool testDirectoryOptionEnabled, std::string& testDirectory, cmValue& propertyValue) { cmMakefile* testDirectoryMakefile = &status.GetMakefile(); if (!SetPropertyCommand::HandleAndValidateTestDirectoryScopes( status, testDirectoryOptionEnabled, testDirectory, testDirectoryMakefile)) { return cmGetTestPropertyResult::ScopeError; } cmTest* test = testDirectoryMakefile->GetTest(testName); if (!test) { return cmGetTestPropertyResult::TestNotFound; } propertyValue = test->GetProperty(propertyName); return cmGetTestPropertyResult::Success; }