b2 release link=static toolset=clang
работает, но он не показывает приятные цвета, которые я нахожу полезными в выходе clang.Как я могу заставить цвета Clang работать в boost-bjam?
ответ
Отказ от ответственности: Это не ответ на решение вашей проблемы, но это занимает слишком много места, чтобы поместить это в комментарий.
Вот короткий процесс ликвидации Холмса. Во-первых, в соответствии с Clang documentation цвет включен только тогда, когда обнаружен цветной терминал. А во-вторых, согласно Boost.Jam documentation, все переменные среды автоматически импортируются в свой встроенный модуль .ENVIRON
. Наконец, у вас действительно есть цветной терминал. Но это не работает. Даже форсирование проблемы с явным аргументом командной строки Клана
./b2 install --toolset=clang --cxxflag=-fcolor-diagnostics
не отображает цветную диагностику. Мой единственный вывод заключается в том, что каким-то образом b2
не запускает свою сборку внутри цветного терминала. При дальнейшем рыть на основе ваших комментариев, я нашел related problem on another build system:
Причина этого заключается в том, что ниндзя Комплекты подпроцесс STDOUT/STDERR к трубы (подпроцесс :: Start(), subprocess.cc), и лязг проверяет, StandardErrHasColors() (tools/clang/lib/Driver/Tools.cpp), который равен false if! isatty (2) (lib/Support/Unix/Process.inc).
Я немного огляделся, и для этого нужно вызвать fork_pty() для запуска дочернего элемента в псевдотерминале. Я не знаю, повлияет ли это на время создания подпроцесса, и если открытие ~ 4000 pseudo ttys (хром-сборка на -j10000) считается хорошей формой.
(Это можно заставить лязг всегда испускают цвет избежали кодов с использованием «-Xclang -fcolor-диагностика», но это довольно Hacky. Сделать не кажется, переопределить STDERR на UNIX, насколько я могу судить, child_execute_job() в job.c)
Заключение: вы, возможно, придется покопаться в b2
внутренностей, чтобы увидеть, если есть какой-то выход перенаправление происходит, предотвращающую цветокодирующей. В качестве альтернативы вы можете задать вопрос по адресу Boost.Build mailinglist. Надеюсь, это поможет вам немного дальше.
Обновление: есть long standing ticket на сайте Boost SVN, который имеет дело с этим.
Кажется, что основная проблема была как-то решена, но есть немного больше объяснений, которые нужно сделать в отношении этого.
Если вы хотите цвета, вы можете использовать это в user-config.jam
:
using clang : : : <compileflags>-fcolor-diagnostics ;
Однако мое личное предпочтение, чтобы справиться с этим в моем Jamroot с использованием проектных требований, так что другие не должны иметь дело с этим:
project my_project : requirements
<toolset>clang:<cflags>-fcolor-diagnostics
<toolset>clang:<cxxflags>-fcolor-diagnostics
;
- 1. Как я могу заставить grails remoteFunction работать?
- 2. Как я могу заставить скрипт батут работать?
- 3. Как я могу заставить этот CommandParameter работать?
- 4. Как я могу заставить EFrepository работать?
- 5. Как я могу заставить эту функцию работать?
- 6. Как я могу заставить CSS-Transforms работать
- 7. Как я могу заставить это дело работать?
- 8. Как я могу заставить DataPoint.Tooltip работать правильно?
- 9. Как я могу заставить эту декларацию работать?
- 10. Как я могу заставить mod_rewrite работать?
- 11. Как я могу заставить этот оператор + = работать?
- 12. Как я могу заставить htaccess работать (поддомены)?
- 13. Как я могу заставить $ .getScript работать правильно?
- 14. Как я могу заставить #if DEBUG работать?
- 15. Как я могу заставить virtualenv работать?
- 16. Как я могу заставить следующий генератор работать?
- 17. Как я могу заставить панель свернуть работать?
- 18. Как я могу заставить расширитель автозаполнения работать?
- 19. Как я могу заставить Python работать быстрее?
- 20. Как я могу заставить работать «BATTERY_PROPERTY_CURRENT_NOW»?
- 21. Как я могу заставить DataGridView.Rows.DividerHeight работать?
- 22. Как я могу заставить регулярное выражение работать?
- 23. Как я могу заставить оператор getline работать?
- 24. Как я могу заставить цикл анимации работать?
- 25. Как я могу заставить этот слайдер работать?
- 26. Как я могу заставить этот плункер работать?
- 27. Как я могу заставить эту ссылку работать?
- 28. Как я могу заставить работать Spring.net Webservice?
- 29. Как я могу заставить этот DataTrigger работать?
- 30. Как я могу заставить эту программу работать?
Спасибо, но я знал эту часть. $ TERM - xterm-256color. Вызов clang из командной строки отображает цвета. Я не могу напрямую использовать вопрос о SCons.Думаю, мне нужно добавить что-то в user-config.jam, но я не знаю, что. –
@HumbleDebugger, если вы 'echo' свою переменную' TERM' из вашего 'user-config.jam', какой результат вы получаете? – TemplateRex
ECHO говорит xterm-256color –