29 lines
1.2 KiB
CMake
29 lines
1.2 KiB
CMake
# CMake script file to process a text file by wrapping every line in double quotes.
|
|
# Input file must not abuse quotes, staying with single quotes is probably best.
|
|
# note also empty lines cannot be stripped: they have a meaning (separator) in markdown
|
|
# so we use file( READ ... ) to read the full file content, including empty lines
|
|
|
|
file( READ ${inputFile} buffer )
|
|
|
|
file( WRITE ${outputFile} "// Do not edit this file, it is autogenerated by CMake from an .md file\n" )
|
|
|
|
#Remark: strings can contain semicolon. a semicolon is a separation in cmake.
|
|
#so, to avoid stripping semicolon in variables we have to quote them
|
|
|
|
# Replace each "\" char by "\\". the \ is found in .md files
|
|
# to prepend some chars that are usually control chars
|
|
STRING( REPLACE "\\" "\\\\" linea "${buffer}" )
|
|
|
|
# Replace each " char by \"
|
|
STRING( REPLACE "\"" "\\\"" linem "${linea}" )
|
|
|
|
# Replace each EOL char by "\n" + " + EOL
|
|
STRING( REPLACE "\n" "\\n\"\n\"" buff_m "${linem}" )
|
|
|
|
# create the full string compatible "C":
|
|
# _HKI( "<md string>"\n
|
|
# to make it translatable. We use here the marker _HKI because
|
|
# the translation will be explicitely called in Kicad code
|
|
# Write the buffer between quotes
|
|
file( APPEND ${outputFile} "_HKI( \"" "${buff_m}" "\" );\n" )
|