I'm collecting sources and includes into a parent scope variable, and then
attempting to use that variable to reference the right sources.
Sources get added to the list as ../(theirpath)/(source) so in the parent
level I can simply replace "../" with "" and then they are relative in the
right place.
This works; as far as, the includes, sources and defines get all collected
into the top level, but when i try to remove the ../ the list gets
converted into a string.
# Create a list of things
set( SIMPLE_LIST -I../lib1/include -I../lib2/include -I../lib3/include )
# set a variable using that list...
set( AMALG_COMMAND echo ${SIMPLE_LIST} )
# this outputs
COMMAND:echo;-I../lib1/include;-I../lib2/include;-I../lib3/include
message( "COMMAND:${AMALG_COMMAND}")
# replace ../ with nothing
STRING( REPLACE "../" "" SIMPLE_LIST ${SIMPLE_LIST} )
# re-set a variable with the eventual command to run
set( AMALG_COMMAND echo ${SIMPLE_LIST} )
# this outputs COMMAND:echo;-Ilib1/include -Ilib2/include -Ilib3/include
message( "COMMAND:${AMALG_COMMAND}")
When that final command actually gets run in a
add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/out.c COMMAND
${AMALG_COMMAND} )
Then the command is 'echo "-Ilib1/include -Ilib2/include -Ilib3/include"'
which is incorrect.
I tried first LIST(JOIN) but that defiantly makes a string and doesn't help.
string(REPLACE " " ";" SIMPLE_LIST ${SIMPLE_LIST}) to try and reverse it
back to a list doesn't seem to help...
--
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