2012-04-01 33 views
10

Có cách nào để tạo ra đầu ra đầy màu sắc từ gcc được gọi từ Makefile được tạo bởi cmake không? Nó sẽ làm cho ứng dụng gỡ lỗi dễ dàng hơn rất nhiều.Lỗi và cảnh báo màu CMake

Trả lời

3

Tải gccfilter (cần perl, libregexp và libgetopt-argvfile), sau đó chạy:

gccfilter -c cmake ...

này sẽ tô màu cho các thông điệp từ quá trình xây dựng (mà Tôi giả sử là gcc mesages).

+0

Hoạt động tốt, cảm ơn! Mặc dù nó hủy bỏ màu sắc từ tin nhắn cmake – Tombart

+0

+1 chưa sử dụng thông báo này. – Anonymous

6

Bạn có muốn sản lượng đầy màu sắc từ cmake nhị phân không? Cho rằng tôi không biết bất kỳ giải pháp.

CMake có thể tạo Makefiles cung cấp thông tin về quy trình xây dựng verbose (and colourful). Điều này có thể được kích hoạt theo cách sau:

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

Nếu bạn muốn có gcc đầu ra colourised, sau đó có một cái nhìn tại colorgcc perl script. Có nó được cài đặt thử một cái gì đó như thế này:

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

Hoặc sử dụng các giải pháp mới được đề xuất trong câu trả lời khác bởi gfour - các gccfilter

+0

Xin cảm ơn, cờ chi tiết hoạt động. Nó đã thêm nó vào Makefile: '+ # Tạo đầu ra tiết theo mặc định. + VERBOSE = 1 + 'nhưng không tô màu. Tôi có 'cmake phiên bản 2.8.5' – Tombart

+0

Kiểm tra trong' CMakeCache.txt', cho dù 'CMAKE_COLOR_MAKEFILE: BOOL = OFF' hoặc' ON' – Anonymous

+0

có, tôi có nó 'ON' và tô màu cho lệnh' cmake'. Có lẽ tôi nên rephrase câu hỏi, tôi muốn có màu sắc trong 'gcc' đầu ra hoặc trình biên dịch nào được gọi là từ' cmake' – Tombart

1

Dựa trên this discussion tôi đã tạo ra một bí danh trong ~/.bashrc cho 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%'" 

nó không phải là giải pháp thực sự tốt đẹp, nhưng nó thực hiện công việc.

+0

cách thực hiện make -j 4 – rahman

4

Hãy thử colout, nó được thiết kế để liên tục màu đầu ra của bất kỳ lệnh, và đi kèm với một g ++ VÀ một cmake chủ đề mà bạn có thể sử dụng với nhau:

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

Bên cạnh việc cải thiện cmake colorscheme, nó thậm chí còn áp dụng màu cú pháp trên mã được in ra bởi g ++.

+0

rất tốt! Không cần symlink ở đây. Bạn chỉ cần thêm màu sắc khi bạn thực sự muốn nó. – kodu

Các vấn đề liên quan