Как мне использовать путь цели в add_custom_command в CMake? - PullRequest
0 голосов
/ 23 марта 2011

В CMakeLists.txt есть библиотека с именем "library.dll".Я хочу добавить событие после сборки, чтобы скопировать полученный файл в другой каталог.В документации сказано использовать события генератора, но это не работает:

add_custom_command(TARGET library.dll POST_BUILD COMMAND copy $<TARGET_FILE:library.dll> \"${SOME_DIR}/bin\")

Я использую CMake 2.8.3 для генерации файлов проекта VC ++ 2010 в Windows 7.

1 Ответ

2 голосов
/ 23 марта 2011

Попробуйте следующие изменения:

Добавьте параметр VERBATIM, который гарантирует, что все аргументы команды будут правильно экранированы.

Вместо использования встроенной команды копирования Windows, вызовите CMake в командном режиме, в котором встроена независимая от платформы команда копирования.

Измененная команда выглядит следующим образом:

add_custom_command(TARGET library.dll POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:library.dll> ${SOME_DIR}/bin VERBATIM)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...