cmake генерирует для правила установки что-то вроде следующего:
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install
Я хочу, чтобы некоторые пользовательские команды выполнялись после вызова cmake_install.cmake, поэтому он выглядит примерно так:
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
post_install_command_1
...
post_install_command_n
.PHONY : install
Я могу сделать то, что хочу, с помощью "add_custom_command (TARGET... POST_BUILD...)" для написанных нами (для обновления 6 - 10 макросов). Тем не менее, есть множество сторонних вещей, которые устанавливаются, и я действительно не хочу добавлять пользовательские команды POST_BUILD для всех из них (в настоящее время 19 проектов с большим количеством прибытий, и может быть сложно определить, что нужно обработать после сборки, а не после установки). Я думаю, было бы намного легче поддерживать, если пользовательские команды будут использоваться только в одном месте (то есть в качестве последней части обработки установки), и где я знаю, что они сделают все, что необходимо.
Можно ли получить cmake для добавления команд в правило установки Makefile верхнего уровня?