cmake add_library в произвольном месте - PullRequest
5 голосов
/ 12 мая 2010

Мне нужно создать библиотеку, которая должна быть размещена в произвольном месте, хранящемся в переменной 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, чтобы только одна ее копия хранилась в нужном месте?

1 Ответ

8 голосов
/ 14 мая 2010

Команда

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...