[CMake] Spaces in conditional output of generator expressions

Marc CHEVRIER marc.chevrier at gmail.com
Sun Jun 3 10:33:12 EDT 2018


In fact, the right way to manage « composite » options is to use « SHELL: »
prefix (introduced in up-coming version 3.12).


Le dim. 3 juin 2018 à 16:11, Neil Carlson <neil.n.carlson at gmail.com> a
écrit :

> 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!
>>
>>
>>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> https://cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180603/78e1bdae/attachment.html>


More information about the CMake mailing list