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.carl...@gmail.com>
wrote:

>
> On Sun, Jun 3, 2018 at 7:08 AM Marc CHEVRIER <marc.chevr...@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

Reply via email to