mirror of
https://github.com/Kitware/CMake.git
synced 2026-06-30 19:57:41 +00:00
To manage the generation step, introduce cmGeneratorFileSet and cmGeneratorFileSets classes. These reorganizations of the code are done in preparation of the implementation of SOURCES file set type as well as user's file set types. Issues: #27550, #27383
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "cmListFileCache.h"
|
|
|
|
class cmLinkItem;
|
|
class cmake;
|
|
class cmGeneratorTarget;
|
|
struct cmGeneratorExpressionDAGChecker;
|
|
|
|
namespace cm {
|
|
namespace GenEx {
|
|
struct Context;
|
|
}
|
|
|
|
class TargetPropertyEntry
|
|
{
|
|
protected:
|
|
static cmLinkItem NoLinkItem;
|
|
|
|
public:
|
|
TargetPropertyEntry(cmLinkItem const& item);
|
|
virtual ~TargetPropertyEntry() = default;
|
|
|
|
static std::unique_ptr<TargetPropertyEntry> Create(
|
|
cmake& cmakeInstance, const BT<std::string>& propertyValue,
|
|
bool evaluateForBuildsystem = false);
|
|
|
|
virtual std::string const& Evaluate(
|
|
cm::GenEx::Context const& context, cmGeneratorTarget const* headTarget,
|
|
cmGeneratorExpressionDAGChecker* dagChecker) const = 0;
|
|
|
|
virtual cmListFileBacktrace GetBacktrace() const = 0;
|
|
virtual std::string const& GetInput() const = 0;
|
|
virtual bool GetHadContextSensitiveCondition() const;
|
|
|
|
cmLinkItem const& LinkItem;
|
|
};
|
|
}
|