2010-05-11 3 views
5

Ich muss eine Bibliothek erstellen, die an einem benutzerdefinierten Speicherort in der Variablen CUSTOM_OUTDIR gespeichert werden soll. Derzeit verwende ich den folgenden Code, um sicherzustellen, dass die Bibliothek an den richtigen Speicherort kopiert wird.cmake add_library an einem benutzerdefinierten Speicherort

ADD_LIBRARY(example MODULE example.c) 

GET_TARGET_PROPERTY(FILEPATH example LOCATION) 
ADD_CUSTOM_COMMAND(
    TARGET example POST_BUILD 
    COMMAND ${CMAKE_COMMAND} 
    ARGS -E copy ${FILEPATH} ${CUSTOM_OUTDIR} 
) 

Dies ist jedoch keine gute Lösung, wie das Kopieren fertig post_build, und ich am Ende mit zwei Kopien der Bibliothek auf. Gibt es eine Möglichkeit, CMAKE_BINARY_DIR nur für die Bibliothek example einzurichten, so dass nur eine Kopie davon am richtigen Ort aufbewahrt wird?

Antwort

8

Der Befehl

set_target_properties(example PROPERTIES 
    LIBRARY_OUTPUT_DIRECTORY "${CUSTOM_OUTDIR}" 
) 

sollte das tun, was Sie wollen. Ich bin gerade nicht vor einer Entwicklungsmaschine und überprüfe sie später.

Verwandte Themen