[CMake] Spaces in conditional output of generator expressions
Neil Carlson
neil.n.carlson at gmail.com
Sun Jun 3 10:10:58 EDT 2018
Something not immediately obvious to me, and perhaps not to others that
might come across this thread, is that all spaces in the option string need
to be replaced with a semicolon, and not just those that separate options
(with Linux/make at least). For example an option that takes an argument
'-assume realloc_lhs'. If you do this:
BAD: add_compile_options("$<$<COMPILE_LANGUAGE:Fortran>:-assume
realloc_lhs>")
you get a single quoted token "-assume realloc_lhs" on the compile line
which the compiler doesn't understand. The correct thing is
GOOD: add_compile_options("$<$<COMPILE_LANGUAGE:Fortran>:-assume;realloc_lhs>")
On Sun, Jun 3, 2018 at 7:33 AM Neil Carlson <neil.n.carlson at gmail.com>
wrote:
>
> On Sun, Jun 3, 2018 at 7:08 AM Marc CHEVRIER <marc.chevrier at gmail.com>
> wrote:
>
>> [...]
>> GOOD: target_compile_options(someTarget PRIVATE
>> "$<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra>")
>>
>
> Ah, that's it. Never occurred to me to quote the whole thing, thinking
> that would turn the generator expression into a literal string and not be
> interpreted. Thanks!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180603/05d9595f/attachment-0001.html>
More information about the CMake
mailing list