Comment puis-je passer correctement CMake liste (point-virgule-sep), des drapeaux aux set_target_properties?

CMake listes sont essentiellement juste un point-virgule séparées par des chaînes, mais si vous passez une telle variable à une commande, il ne se étend sur plusieurs arguments - par exemple,

set(FLAGS f1 f2 f3)
# now FLAGS == 'f1;f2;f3'
add_custom_command(
  ...
  COMMAND my_cmd ${FLAGS}
  ...
)

correctement appel my_cmd f1 f2 f3.

Maintenant si je fais cela avec

set_target_properties(
  myTarget PROPERTIES
  LINK_FLAGS  "${LD_FLAGS}"
)

l'expansion ne se produit pas, et je me retrouve avec un seul LD_FLAG qui contient des points-virgules -- inutile, au lieu de s'élargir en une chaîne séparée par des espaces.

Est-il possible de faire en sorte que quand j'ai passer d'une liste à l'LINK_FLAGS propriété (ou la propriété), il obtient étend sur plusieurs arguments, plutôt qu'un seul?

Grâce,
Dan

InformationsquelleAutor Dan | 2012-07-21