cmake/Source/cmProperty.h
2021-09-14 00:13:48 +02:00

37 lines
599 B
C++

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#pragma once
#include "cmConfigure.h" // IWYU pragma: keep
#include <string>
class cmProperty
{
public:
enum ScopeType
{
TARGET,
SOURCE_FILE,
DIRECTORY,
GLOBAL,
CACHE,
TEST,
VARIABLE,
CACHED_VARIABLE,
INSTALL
};
};
using cmProp = const std::string*;
inline const char* cmToCStr(cmProp p)
{
return p ? p->c_str() : nullptr;
}
inline const char* cmToCStrSafe(cmProp p)
{
return p ? p->c_str() : "";
}