Ошибки и предупреждения цвета CMake

Есть ли способ создания яркого вывода из gcc, который вызывается из Makefile, сгенерированного cmake? Это упростило бы приложение для отладки.

Ответ 1

Загрузите gccfilter (нужно perl, libregexp и libgetopt-argvfile), затем запустите:

gccfilter -c cmake...

Это раскрасит сообщения из процесса сборки (который я предполагаю gcc-сообщения).

Ответ 2

Вам нужен яркий выход из cmake двоичного? Для этого я не знаю никакого решения.

cmake может генерировать Makefiles, которые предоставляют подробные (и красочные) сведения о процессе сборки. Это можно включить следующим образом:

SET(CMAKE_COLOR_MAKEFILE ON)
# And optionally
SET(CMAKE_VERBOSE_MAKEFILE ON)

Если вы хотите, чтобы вывод gcc был окрашен, посмотрите colorgcc perl script. Установив его, попробуйте что-то вроде этого:

CC=/usr/bin/colorgcc cmake .....

Или используйте более новое решение, предложенное в другом ответе gfour - gccfilter

Ответ 3

Попробуйте colout, он предназначен для бесшовного цвета вывода любой команды и поставляется с g++ и темой cmake, которая вы можете использовать вместе:

make something 2>&1 | colout -t cmake | colout -t g++

Помимо улучшения цвета cmake, он даже применяет сильную синтаксическую окраску на код, напечатанный g++.

Ответ 4

На основе это обсуждение Я создал псевдоним в ~/.bashrc для make:

alias make="make VERBOSE=1 2>&1 | sed -e 's%^.*: error: .*$%\x1b[37;41m&\x1b[m%' -e 's%^.*: warning: .*$%\x1b[30;43m&\x1b[m%'"

Это не очень хорошее решение, но оно выполняет эту работу.