mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
27 lines
576 B
C++
27 lines
576 B
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 "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <string>
|
|
|
|
class cmPlaceholderExpander
|
|
{
|
|
public:
|
|
enum class HandleGenex
|
|
{
|
|
No,
|
|
Yes
|
|
};
|
|
|
|
virtual ~cmPlaceholderExpander() = default;
|
|
|
|
std::string& ExpandVariables(std::string& string,
|
|
HandleGenex handleGenex = HandleGenex::No);
|
|
|
|
protected:
|
|
virtual std::string ExpandVariable(std::string const& variable) = 0;
|
|
};
|