2014-07-07 2 views
3

Файлы make, созданные CMake, имеют яркий выход для улучшения читаемости.Цвет изменения цвета CMake в make-файле

Можно ли изменить цвет? У меня есть зеленый шрифт терминала, поэтому я немного теряю цвет для сообщений, указывающих, что объекты построены.

+0

Обходное решение: alias make = 'make &> make.out || cat make.out && echo "success" ' – kd88

+0

@JoelKlinger Вы пропустили точку. Сообщение о статусе, когда объекты построены, является зеленым, почти таким же зеленым, как мой цвет терминала. Так что сложнее выявить эти сообщения. – usr1234567

ответ

2

Я полагаю, вы говорите о CMake добавлены сообщения с выхода макияжа (а не нормальный сделай сам выхода), в этом случае он выглядит как эти линии жестко закодирован в сгенерированных Makefiles с аргументы команды CMake cmake_echo_color которые включают буквальные имена цветов в качестве аргументов. Таким образом, нет никаких переменных для переопределения или чего-то подобного, что позволит вам изменить это.

Итак, нет, похоже, что вы не можете контролировать цвета, используемые cmake для различных сообщений. Вообще.

Он даже не получает значения, которые он использует для управления цветами из termcap/terminfo вашего терминала. У него есть жестко закодированные escape-последовательности в исходном коде из того, что я могу сказать.

Единственное, что вы можете сделать, это изменить определения цвета вашего терминала.

Редактировать: Обсуждая это с коллегой, мы придумали довольно очевидное и простое обходное решение для этого. Создайте сценарий оболочки cmake, назначьте ему путь к переменной $(CMAKE) (единственная переменная, используемая в этой сгенерированной строке make), а затем вашей обертке нужно отсканировать последовательность команд -E cmake_echo_color и заменить любой цвет, который команда будет использовать с соответствующим аргументом для цвета, который вы хотите использовать.

Единственная проблема с этим подходом заключается в том, что в командной строке нет ничего, что указывает на какую-либо категорию или какой-либо другой вид, кроме самого сообщения, поэтому для этого во всем, что похоже на последовательный способ, потребуется фильтрация на (потенциально случайных) текстов сообщений.

+0

Ваше предположение верно, я говорю о «сообщениях с добавлением CMake из выходного файла make (а не самого обычного выхода)». Спасибо за ответ, но это печально. – usr1234567

+2

Да, каждый шаг на пути к исследованию этого делал меня более недовольным выборами, сделанными cmake. –

Смежные вопросы