mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
40 lines
1.3 KiB
CMake
40 lines
1.3 KiB
CMake
|
# 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}\"
|
||
|
")
|