aboutsummaryrefslogtreecommitdiffstats
path: root/src/rspamadm/lua_preprocess.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/rspamadm/lua_preprocess.cmake')
-rw-r--r--src/rspamadm/lua_preprocess.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/rspamadm/lua_preprocess.cmake b/src/rspamadm/lua_preprocess.cmake
new file mode 100644
index 000000000..13a23487a
--- /dev/null
+++ b/src/rspamadm/lua_preprocess.cmake
@@ -0,0 +1,22 @@
+FOREACH(_LUA_SRC ${RSPAMADMLUASRC})
+ GET_FILENAME_COMPONENT(_LUA_BASE ${_LUA_SRC} NAME_WE)
+ FILE(READ ${_LUA_SRC} _FILE_DATA)
+ STRING(REPLACE \" \\\" _OUT1 ${_FILE_DATA})
+ # Convert into cmake list
+ STRING(REGEX REPLACE ";" "\\\\;" _OUT2 "${_OUT1}")
+ STRING(REPLACE "\n" ";" _OUT3 "${_OUT2}")
+ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${_LUA_BASE}.lua.h" "
+#ifndef ${_LUA_BASE}_H
+#define ${_LUA_BASE}_H
+
+static const char rspamadm_script_${_LUA_BASE}[] = \"\"
+")
+ FOREACH(_LINE ${_OUT3})
+ STRING(REGEX REPLACE "^(.+)$" "\"\\1\\\\n\"\n" _OUT4 "${_LINE}")
+ FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/${_LUA_BASE}.lua.h" ${_OUT4})
+ ENDFOREACH()
+
+ FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/${_LUA_BASE}.lua.h" "\"\";
+#endif
+")
+ENDFOREACH()