[CMake] Can arguments in an command invocation end in a line comment?

Maris Razvan razvyboy2004 at gmail.com
Tue May 7 17:52:38 EDT 2019


I apologize for the spelling error in the subject of this thread.

I was told that this sentence actually states that lines inside a
(single) command argument cannot end in a line comment.
I initially thought that "Command Arguments" in this sentence means
the "section" that contains all the arguments in a command invocation,
as the wording implies that there may be multiple lines inside the
referred "Command Arguments".
However, a bracketed or a quoted argument can span several lines, so
the sentence means that one cannot have comments in a bracketed or
quoted argument (the grammar does not allow unescaped "#" inside an
unquoted argument, so I think the sentence does not refer to this
case).

Is this correct?

On Tue, May 7, 2019 at 9:47 PM Maris Razvan <razvyboy2004 at gmail.com> wrote:
>
> In the latest CMake documentation, the "language" section, the "Source
> Files" paragraph there is the following sentence:
>
>     "Note that any source file line not inside Command Arguments or a
> Bracket Comment can end in a Line Comment."
>
> I think that source file lines inside "Command Arguments" can end in a
> "Line Comment" because the grammar specified in the "Command
> Invocations" paragraph states that a "line_ending" (which may contain
> a "line_comment") can separate arguments.
>
> Also, the following code snippet works as expected in cmake 3.11.4:
>
>     foreach(arg arg1
>                      arg2 #line-comment
>                )
>       message("${arg}")
>     endforeach()
>
> Am I misunderstanding the above quote or is it inaccurate?
>
> Thank you!


More information about the CMake mailing list