[CMake] Separating spaces are escaped by JOIN generator expression

Marc CHEVRIER marc.chevrier at gmail.com
Mon Aug 5 17:26:48 EDT 2019


If you want to define a list, try to use $<SEMICOLON> rather than a space to separate the items. This way, you will get a CMake list rather than a string: list(APPEND DICTIONARY_INCLUDES "-I$<JOIN:$<TARGET_PROPERTY:MyLIBRARY,INTERFACE_INCLUDE_DIRECTORIES>,$<SEMICOLON>-I>")
Le 5 août 2019 à 22:56 +0200, Dakeryas <mrdakeryas at gmail.com>, a écrit :
> I am facing the exact same issue when when joining libraries from a target for some CMake function defined by the Cern ROOT library (ROOT_GENERATE_DICTIONARY in that case). I am defining a list: list(APPEND DICTIONARY_INCLUDES " -I$<JOIN:$<TARGET_PROPERTY:MyLIBRARY,INTERFACE_INCLUDE_DIRECTORIES>, -I>") which is then passed to the ROOT function. I can see from the build error that all the includes have a backslash appended, i.e.: ... -I/home/user/lib1/include/\ -I/home/user/lib2/include/\ -I... The BUILD_INTERFACE vs INSTALL_INTERFACE is respected, everything seems to work aside from these nasty backlashes... If I save the command manually after seeing the error and perform a string replacement to remove the backlashes, I get the desired result. Is there any fix five years later?
> Sent from the CMake mailing list archive at Nabble.com.
> --
>
> 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/20190805/6141acbd/attachment.html>


More information about the CMake mailing list