Skip to content
  • Brad King's avatar
    Add \-continuation to CMake language quoted arguments · efcf318f
    Brad King authored
    Teach the CMake language lexer to treat the \-LF pair terminating a
    line ending in an odd number of backslashes inside a quoted argument
    as a continuation.  Drop the pair from the returned quoted argument
    token text.  This will allow long lines inside quoted argument
    strings to be divided across multiple lines in the source file.
    It will also allow quoted argument text to start on the line after
    the opening quote.  For example, the code:
    
     set(x "\
     ...")
    
    sets variable "x" to the value "..." with no opening newline.
    
    Previously an odd number of backslashes at the end of a line inside
    a quoted argument would put a \-LF pair (or a \-CR pair) literally
    in the argument.  Then the command-argument evaluator would complain
    that the \-escape sequence is invalid.  Therefore this syntax is
    available to use without changing behavior of valid existing code.
    
    Teach the RunCMake.Syntax test to cover cases of quoted arguments
    with lines ending in \, \\, and \\\.  Odd counts are continuations.
    efcf318f