generator expression join isn't working / or I cannot use it well enough
I would like to do something like this:
add_custom_command(OUTPUT "a.i"
COMMAND "${CMAKE_CXX_COMPILER}"
-x c++ -E -P
$<$<BOOL:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>>:-D$<JOIN:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>,-D>> # no space :(
$<$<BOOL:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>>:-D$<JOIN:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>, -D>> # two arguments :(
"$<$<BOOL:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>>:-D$<JOIN:$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>, -D>>" # not evaluated :(
???
-o "a.i"
"a"
VERBATIM
COMMAND_EXPAND_LISTS
)
It actually evaluates the generator expression, but there are no space between the definitions. If I add a space it is 2 arguments. If I quote the whole line it is not evaluated.
What could I do?