summaryrefslogtreecommitdiff
path: root/Source/cmPlaceholderExpander.h
blob: 24225cc87251d32c465f6b534d7902896bd8f474 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* 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 cmPlaceholderExpander
{
public:
  virtual ~cmPlaceholderExpander() = default;

  std::string& ExpandVariables(std::string& string);

protected:
  virtual std::string ExpandVariable(std::string const& variable) = 0;
};