cmPlaceholderExpander.h 453 B

12345678910111213141516171819
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmConfigure.h" // IWYU pragma: keep
  5. #include <string>
  6. class cmPlaceholderExpander
  7. {
  8. public:
  9. virtual ~cmPlaceholderExpander() = default;
  10. std::string& ExpandVariables(std::string& string);
  11. protected:
  12. virtual std::string ExpandVariable(std::string const& variable) = 0;
  13. };