[CMake] Spaces in conditional output of generator expressions

Craig Scott craig.scott at crascit.com
Sun Jun 3 00:24:13 EDT 2018


On Sun, Jun 3, 2018 at 12:34 PM, Neil Carlson <neil.n.carlson at gmail.com>
wrote:

> On Sat, Jun 2, 2018 at 4:53 PM Stephen McDowell <sjm324 at cornell.edu>
> wrote:
>
>> It should be a CMake list, which is delineated by semicolons.
>>
>> add_compile_options($<$<COMPILE_LANGUAGE:C>-Wall;-Wextra>)
>>
>> I am writing this from a phone so untested, but that has worked for me in
>> the past.
>>
>
> Right about the list, and is one of the things I tried, but didn't work.
> This one
> seems to break the generator expression.
>

I think you are missing a colon after the first ">". I just tried a command
like the following and it produces the right compiler command line options
for me (on macOS using CMake 3.11.0 with either Ninja or Xcode):

target_compile_options(someTarget PRIVATE
    $<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra>
)

I also works for me even without the semi-colon (i.e. using a space
instead), which was kinda surprising given that I didn't quote the whole
generator expression. Not sure about other platforms or generators.



-- 
Craig Scott
Melbourne, Australia
https://crascit.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180603/848508ea/attachment.html>


More information about the CMake mailing list