This is the way to proceed... Le 6 août 2019 à 17:23 +0200, Unknown Unknown <[email protected]>, a écrit : > I am getting a further by combining your idea with a "add_custom_command" and > using the "COMMAND_EXPAND_LISTS" trick I have just discovered. Essentially I > have something like the following to get the desired results: > > list(APPEND DICTIONARY_INCLUDES > "-I$<JOIN:$<TARGET_PROPERTY:MyLibrary,INTERFACE_INCLUDE_DIRECTORIES>,$<SEMICOLON>-I>") > > add_custom_command( > OUTPUT ${DICTIONARY_SOURCE} > COMMAND rootcling -f ${DICTIONARY_SOURCE} > -rml lib${PROJECT_NAME}.so > -rmf lib${PROJECT_NAME}.rootmap > -s lib${PROJECT_NAME}.so > -inlineInputHeader > "${DICTIONARY_INCLUDES}" > -I${CMAKE_CURRENT_SOURCE_DIR} ${DICTIONARY_HEADERS} > ${CMAKE_CURRENT_SOURCE_DIR}/${DICTIONARY_LINKDEF} > DEPENDS MyLibrary ${DICTIONARY_HEADERS} ${DICTIONARY_LINKDEF} > COMMAND_EXPAND_LISTS > ) > > > Le mar. 6 août 2019 à 02:56, Marc CHEVRIER <[email protected]> a > > écrit : > > > Oops, I mean: $<SEMICOLON> To generate a semi-colon character (I.e. ‘;’) > > > Le 6 août 2019 à 00:08 +0200, Unknown Unknown <[email protected]>, a > > > écrit : > > > > Bonjour Marc, > > > > > > > > Thanks for the reply! Now I get: > > > > (add_custom_command): > > > > Error evaluating generator expression: > > > > > > > > $<SEMILOCON> > > > > > > > > Expression did not evaluate to a known generator expression > > > > > > > > I am really just trying to join the INTERFACE_INCLUDE_DIRECTORIES of my > > > > target with the "- I" compiler include flags... I have since noticed > > > > that I don't get a list indeed, and that: > > > > set(DICTIONARY_INCLUDES " > > > > -I$<JOIN:$<TARGET_PROPERTY:MyLibrary,INTERFACE_INCLUDE_DIRECTORIES>, > > > > -I>") > > > > does the exact same thing, i.e. the Make/Ninja command is almost > > > > perfect if it were not for those backslashes coming out of nowhere at > > > > the end of each include path! > > > > > > > > > Le lun. 5 août 2019 à 17:26, Marc CHEVRIER <[email protected]> > > > > > a écrit : > > > > > > 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 <[email protected]>, 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
--
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
