summaryrefslogtreecommitdiff
path: root/Source/cmGccDepfileReaderTypes.h
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-01-21 10:26:42 +0100
committerBrad King <brad.king@kitware.com>2020-01-28 11:16:11 -0500
commitf8c505d4b30aa636b013486913591060b2040716 (patch)
tree2853577d4c09ff8f11dac45bfd4ba8a2a014dc90 /Source/cmGccDepfileReaderTypes.h
parent306328ace87376dddb2a42bf33c6338aac5d09ad (diff)
downloadcmake-f8c505d4b30aa636b013486913591060b2040716.tar.gz
Add a parser for GCC-style depfiles
Introduce the function cmReadGccDepfile that parses a GCC-style depfile and returns its content. The implementation uses a lexer that is modeled after the re2c implementation in Ninja. The sample files of the autotest have been created with gcc 8.3.0. This depfile reader is to be used by the Autogen facility to make use of the depfiles that are generated by Qt's meta object compiler.
Diffstat (limited to 'Source/cmGccDepfileReaderTypes.h')
-rw-r--r--Source/cmGccDepfileReaderTypes.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmGccDepfileReaderTypes.h b/Source/cmGccDepfileReaderTypes.h
new file mode 100644
index 0000000000..8b15c73757
--- /dev/null
+++ b/Source/cmGccDepfileReaderTypes.h
@@ -0,0 +1,17 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#ifndef cmGccDepfileReaderTypes_h
+#define cmGccDepfileReaderTypes_h
+
+#include <string>
+#include <vector>
+
+struct cmGccStyleDependency
+{
+ std::vector<std::string> rules;
+ std::vector<std::string> paths;
+};
+
+using cmGccDepfileContent = std::vector<cmGccStyleDependency>;
+
+#endif