summaryrefslogtreecommitdiffstats
path: root/GenerateSingleHeader.cmake
diff options
context:
space:
mode:
authorMarkus Mittendrein <maxmitti@maxmitti.tk>2022-01-08 00:28:58 +0100
committerMarkus Mittendrein <maxmitti@maxmitti.tk>2022-01-08 00:28:58 +0100
commit54dfcc50fb6fffca6daaa0e0d70cb558e3efd3e5 (patch)
tree2867dee31b6504c16dc7b70ea7a44d67cfb77792 /GenerateSingleHeader.cmake
parentf2c30b4214a11c575e27b79928e82dda91bd03aa (diff)
downloadcxxformat-54dfcc50fb6fffca6daaa0e0d70cb558e3efd3e5.tar.gz
cxxformat-54dfcc50fb6fffca6daaa0e0d70cb558e3efd3e5.zip
Add CMake target to generate a single header file
Diffstat (limited to 'GenerateSingleHeader.cmake')
-rw-r--r--GenerateSingleHeader.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/GenerateSingleHeader.cmake b/GenerateSingleHeader.cmake
new file mode 100644
index 0000000..e8fc5f7
--- /dev/null
+++ b/GenerateSingleHeader.cmake
@@ -0,0 +1,18 @@
+file(WRITE "${OUTPUT}" "#pragma once\n")
+
+function(add_header header output)
+ file(READ "${SRC_DIR}/include/cxxformat/${header}.hpp" content)
+
+ string(REPLACE "#pragma once\n" "" content "${content}")
+ string(REGEX REPLACE "#include <cxxformat/[^>]+>\n" "" content "${content}")
+
+ file(APPEND ${output} "${content}")
+endfunction()
+
+add_header(helpers ${OUTPUT})
+add_header(core ${OUTPUT})
+add_header(formatters ${OUTPUT})
+add_header(file_ptr ${OUTPUT})
+add_header(ostream ${OUTPUT})
+add_header(string ${OUTPUT})
+add_header(runtime ${OUTPUT})