CMake/CPack: add_custom_command TARGET пакет POST_BUILD

Имея ту же проблему, что и здесь, я хочу выполнить сценарий оболочки как команду POST_BUILD TARGET "package". Целевой платформой является Debian/Ubuntu.

Я добавляю следующее в конец моих CMakeLists:

 add_custom_command(
     TARGET package
     POST_BUILD
     COMMAND bash ${PROJECT_BINARY_DIR}/fixup_deb.sh
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR} 
     COMMENT "Fix file-permissions of md5sum files in debian package"
 )

Но это не работает. Когда я вызываю "make package", скрипт не меняется.

На данный момент у меня есть обходной путь с пользовательской целью:

 add_custom_target(
     correctDeb        
     COMMAND bash ${PROJECT_BINARY_DIR}/fixup_deb.sh
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR} 
 )

Но для меня было бы намного удобнее и безопаснее, если бы это делалось автоматически при вызове "make package".

Кстати, генерация ${PROJECT_BINARY_DIR}/fixup_deb.sh также хорошо работает с:

 configure_file( "${CMAKE_CURRENT_LIST_DIR}/debian/fixup_deb.sh.in" "${PROJECT_BINARY_DIR}/fixup_deb.sh" @ONLY IMMEDIATE )

0 ответов

Другие вопросы по тегам