diff options
Diffstat (limited to 'cmake/licence.cmake')
-rw-r--r-- | cmake/licence.cmake | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cmake/licence.cmake b/cmake/licence.cmake new file mode 100644 index 00000000..e356ae93 --- /dev/null +++ b/cmake/licence.cmake @@ -0,0 +1,39 @@ +# Pure cmake script to generate licence.h from LICENCE + +file(READ "${LICENCE_FILE}" LICENCE_TEXT) + +function(c_string_escape outvar value) + string(REPLACE "\\" "\\\\" value "${value}") + string(REPLACE "\"" "\\\"" value "${value}") + set("${outvar}" "${value}" PARENT_SCOPE) +endfunction() + +set(copyright_regex "PuTTY is copyright ([0-9]+-[0-9]+ [^\n]*[^\n.])\\.?\n") +string(REGEX MATCH "${copyright_regex}" COPYRIGHT_NOTICE "${LICENCE_TEXT}") +string(REGEX REPLACE "${copyright_regex}" "\\1" + COPYRIGHT_NOTICE "${COPYRIGHT_NOTICE}") +c_string_escape(COPYRIGHT_NOTICE "${COPYRIGHT_NOTICE}") + +string(REGEX REPLACE "\n$" "" LICENCE_TEXT "${LICENCE_TEXT}") +string(REPLACE "\r" "" LICENCE_TEXT "${LICENCE_TEXT}") +string(REPLACE "\n\n" "\r" LICENCE_TEXT "${LICENCE_TEXT}") +string(REPLACE "\n" " " LICENCE_TEXT "${LICENCE_TEXT}") +string(REPLACE "\r" "\n" LICENCE_TEXT "${LICENCE_TEXT}") + +c_string_escape(LICENCE_TEXT "${LICENCE_TEXT}") +string(REPLACE "\n" "\" \\\n parsep \\\n \"" + LICENCE_TEXT "${LICENCE_TEXT}") + +file(WRITE "${OUTPUT_FILE}" "\ +/* + * licence.h - macro definitions for the PuTTY licence. + * + * Generated by cmake/licence.cmake from ./LICENCE. + * You should edit those files rather than editing this one. + */ + +#define LICENCE_TEXT(parsep) \\ + \"${LICENCE_TEXT}\" + +#define SHORT_COPYRIGHT_DETAILS \"${COPYRIGHT_NOTICE}\" +") |