blob: b68a635c63b33893fae3a320666800df981fd105 [file]
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file LICENSE.rst or https://cmake.org/licensing for details. */
#pragma once
#include <string>
class cmMakefile;
class cmValue;
enum class cmGetDirectoryPropertyResult
{
Success,
DirectoryNotFound,
};
// Resolve a DIRECTORY scope name to its makefile. Returns nullptr if
// no such directory has been processed. An empty dirName returns
// &callerMf (i.e. the current directory's makefile).
cmMakefile* cmResolveDirectoryMakefile(cmMakefile& callerMf,
std::string const& dirName);
cmGetDirectoryPropertyResult cmGetDirectoryProperty(
std::string const& dirName, std::string const& propertyName,
cmMakefile& callerMf, cmValue& propertyValue);
// Overload for callers that have already resolved the target directory.
cmGetDirectoryPropertyResult cmGetDirectoryProperty(
cmMakefile& mf, std::string const& propertyName, cmValue& propertyValue);