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