comment mettre de la ligne de commande du compilateur args dans certains endroits à l'aide de cmake

Donc je suis en train de construire une bibliothèque partagée, de deux bibliothèques statiques.

Cette réponse dit que la façon de le faire est d'insérer -Wl,--whole-archive avant mon bibliothèques statiques, la -Wl,--no-whole-archive après eux.

Donc ce que j'ai dans cmake au moment de la bibliothèque partagée est:

add_library(wittyPlus SHARED empty.cpp)
target_link_libraries(wittyPlus 
    ${wtdbosqlite}
    ${WT_LIBRARIES}
    ${DB_LIBRARIES}
    ${Boost_LIBRARIES}
    app models
)

Donc ce que j'ai besoin est d'ajouter la -Wl,--whole-archive avant app et models, puis -Wl,--no-whole-archive après (ainsi que la bibliothèque standard, les importations ne sont pas exportés par la partagé lib).

Quelle est la meilleure façon de le faire dans CMake ?


Plus: Donc je voudrais l'utiliser cmake choses autant que possible, de cette façon je n'ai pas à faire tout le, travail supplémentaire pour windows s'appuie, comme CMake gentiment supprime le compilateur définitions qui ne sont pas pris en charge sur la plate-forme en cours de construction.

OriginalL'auteur matiu | 2013-01-15