summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake37
1 files changed, 37 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake
new file mode 100644
index 00000000..02a6241a
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/cmake/GenerateTokenNames.cmake
@@ -0,0 +1,37 @@
+#
+# Generate token_names.h from token_enum.h
+#
+# This script is meant to be executed with `cmake -P` from a custom command,
+# and expects the variables `src_file` and `dst_file` to be set.
+#
+
+function(generate_token_names src_file dst_file)
+ set(tokens "")
+
+ file(READ "${src_file}" token_lines)
+ string(REGEX REPLACE ";|\\[|\\]" " " token_lines "${token_lines}")
+ string(REPLACE "\n" ";" token_lines "${token_lines}")
+
+ foreach(token_line ${token_lines})
+ if(${token_line} MATCHES "^[ \t]*CT_([A-Z0-9_]+),.*$")
+ list(APPEND tokens " \"${CMAKE_MATCH_1}\",\n")
+ endif()
+ endforeach()
+
+ file(WRITE "${dst_file}"
+ "/*\n"
+ " * Generated by CMake\n"
+ " */\n"
+ "#ifndef TOKEN_NAMES_H_INCLUDED\n"
+ "#define TOKEN_NAMES_H_INCLUDED\n"
+ "\n"
+ "const char *token_names[] =\n"
+ "{\n"
+ ${tokens}
+ "};\n"
+ "\n"
+ "#endif /* TOKEN_NAMES_H_INCLUDED */\n"
+ )
+endfunction()
+
+generate_token_names("${src_file}" "${dst_file}")