summaryrefslogtreecommitdiffstats
path: root/Source/cmPlaceholderExpander.h
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2021-11-24 15:45:22 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2022-02-06 13:32:24 (GMT)
commit78dd7d5292cef930b3d435e6901cc3b10ee02513 (patch)
tree7cb78e4301177a68c55d7fd8eddd2fc225ec8c68 /Source/cmPlaceholderExpander.h
parent4b55828a9f2afbc6c37e53f7cb0d4adec0fa73b5 (diff)
downloadCMake-78dd7d5292cef930b3d435e6901cc3b10ee02513.zip
CMake-78dd7d5292cef930b3d435e6901cc3b10ee02513.tar.gz
CMake-78dd7d5292cef930b3d435e6901cc3b10ee02513.tar.bz2
cmRulePlaceholderExpander: add base class for placeholder expansion reuse
Diffstat (limited to 'Source/cmPlaceholderExpander.h')
-rw-r--r--Source/cmPlaceholderExpander.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmPlaceholderExpander.h b/Source/cmPlaceholderExpander.h
new file mode 100644
index 0000000..24225cc
--- /dev/null
+++ b/Source/cmPlaceholderExpander.h
@@ -0,0 +1,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;
+};