5 Stimmen

cmake add_library an einem benutzerdefinierten Ort

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

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, da das Kopieren nach der Erstellung erfolgt, und ich am Ende zwei Kopien der Bibliothek habe. Gibt es eine Möglichkeit, CMAKE_BINARY_DIR nur für die example Bibliothek, so dass nur ein Exemplar davon am richtigen Ort aufbewahrt wird?

8voto

Maik Beckmann Punkte 5377

Der Befehl

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

sollten tun, was Sie wollen. Ich bin gerade nicht vor einer Entwicklungsmaschine, ich schaue später nach.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X