Вывод CMake можно настроить, подавив стандартные сообщения, генерируемые CMake, и вместо этого вывести собственное сообщение в сценарии запуска. Добавьте следующий код к вашему внешнему CMakeLists.txt
:
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CMAKE_SOURCE_DIR}/custom_output.sh")
Установка глобального свойства RULE_MESSAGES на OFF
подавит стандартные сообщения.
Глобальное свойство RULE_LAUNCH_COMPILE настроено для пользовательского сценария запуска с именем custom_output.sh
, который необходимо добавить в корень исходного дерева CMake:
#!/bin/sh
# shell script invoked with the following arguments
# $(CXX) $(CXX_DEFINES) $(CXX_FLAGS) -o OBJECT_FILE -c SOURCE_FILE
# extract parameters
SOURCE_FILE="${@: -1:1}"
OBJECT_FILE="${@: -3:1}"
echo "CC `basename \"$SOURCE_FILE\"`"
# invoke compiler
exec "$@"
Необходимо установить исполняемый бит скрипта.
Вывод компоновщика можно настроить аналогичным образом, установив сценарий RULE_LAUNCH_LINK .