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 )