2012-04-01 12 views
10

क्या gcc से रंगीन आउटपुट का उत्पादन करने का कोई तरीका है जिसे मेकफ़ाइल से cmake द्वारा जनरेट किया जाता है? यह डिबगिंग एप्लिकेशन को बहुत आसान बना देगा।सीएमके रंग की त्रुटियों और चेतावनियां

उत्तर

3

डाउनलोड gccfilter (जरूरत पर्ल, libregexp और libgetopt-argvfile), तो चलाएँ:

gccfilter -c cmake ...

इस निर्माण प्रक्रिया से संदेश colorize होगा (जो मुझे लगता है कि जीसीसी मेसेज हैं)।

+0

अच्छा काम करता है, धन्यवाद! हालांकि यह सेमेक संदेशों से रंगों को रद्द करता है – Tombart

+0

+1 इसका उपयोग नहीं कर रहा है। – Anonymous

6

क्या आप cmake बाइनरी से रंगीन आउटपुट चाहते हैं? इसके लिए मुझे कोई समाधान नहीं पता है।

CMakeMakefiles उत्पन्न कर सकता है जो verbose (and colourful) निर्माण प्रक्रिया के बारे में जानकारी प्रदान करता है। यह निम्नलिखित तरीके से सक्रिय किया जा सकता:

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

आप gcc उत्पादन रंगीन करना चाहते हैं, तो colorgcc पर्ल स्क्रिप्ट पर एक नजर है। बीत रहा है यह स्थापित कुछ इस तरह का प्रयास करें: gfour द्वारा

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

नए समाधान एक और जवाब में प्रस्तावित या का उपयोग करें - gccfilter

+0

धन्यवाद, वर्बोज़ झंडा काम करता है। इसे मेकफ़ाइल में जोड़ा गया: '+ # डिफ़ॉल्ट रूप से वर्बोज़ आउटपुट का उत्पादन करें। + VERBOSE = 1 + 'लेकिन कोई रंग नहीं। मेरे पास 'cmake संस्करण 2.8.5' – Tombart

+0

'CMakeCache.txt' में जांचें, चाहे' CMAKE_COLOR_MAKEFILE: BOOL = OFF' या 'ON' – Anonymous

+0

हाँ, मेरे पास' cm'' कमांड काम के लिए 'चालू' और रंग है। शायद मुझे इस सवाल को दोबारा शुरू करना चाहिए, मैं 'जीसीसी' आउटपुट में रंग रखना चाहता हूं या जो भी कंपाइलर को 'सेमेक' – Tombart

1

आधार this discussion पर मैं make के लिए ~/.bashrc में एक उपनाम बना लिया है:

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

यह वास्तव में अच्छा समाधान नहीं है, लेकिन यह काम करता है।

+0

मेक कैसे करें -j 4 – rahman

4

colout की कोशिश करें, यह मूल किसी भी आदेश के उत्पादन में रंग करने के लिए डिज़ाइन किया गया है, और एक जी ++ और एक cmake विषय है, जो आप एक साथ उपयोग कर सकते हैं के साथ आता है: cmake में सुधार के अलावा

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

colorcheme, यह g ++ द्वारा मुद्रित कोड पर सिंटैक्स रंग पर भी लागू होता है।

+0

बहुत अच्छा! यहाँ सिम्लिंक की कोई ज़रूरत नहीं है। जब आप वास्तव में इसे चाहते हैं तो आप रंग जोड़ें। – kodu