Можно ли добавить пост- установить команды в Makefile верхнего уровня, сгенерированный CMake?

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 верхнего уровня?

14
задан squareskittles 29 October 2019 в 12:12
поделиться