cmake add_library в пользовательском местоположении

Я должен создать библиотеку, которая должна быть размещена в пользовательское местоположение, сохраненное в переменном CUSTOM_OUTDIR. В настоящее время я использую следующий код, чтобы удостовериться, что библиотека копируется в свое надлежащее местоположение.

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}
)

Однако это не хорошее решение, поскольку копирование сделано post_build, и я заканчиваю с двумя копиями библиотеки. Есть ли способ установить CMAKE_BINARY_DIR только для example библиотека так, чтобы только одна копия его была сохранена в надлежащем месте?

5
задан dzhelil 11 May 2010 в 20:16
поделиться

1 ответ

Команда

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

должна выполнить что ты хочешь. Я сейчас не перед разработкой машины, проверю позже.

8
ответ дан 14 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: