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

Kyle Edwards kyle.edwards at kitware.com
Tue May 7 17:59:58 EDT 2019


On Wed, 2019-05-08 at 00:52 +0300, Maris Razvan wrote:
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?

This is valid:

my_command(
  ARG1 # This comment is not part of an argument
    # Neither is this
  ARG2
  )

This is also valid:

my_command(
  "ARG1
    # But this comment IS part of an argument
    "
  [==[ARG2
    # And so is this
    ]==]
  )

Hope that helps,

Kyle


More information about the CMake mailing list