From 46d703274ddf0f667ea2bd9da11d278e28c1ce1d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 11 Aug 2020 11:21:54 +0200 Subject: [PATCH] Doc: Describe using custom output parsers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I423091cfa1d64f640ef6be62c86cf38cb82fe4d7 Reviewed-by: André Hartmann Reviewed-by: Christian Kandeler --- .../qtcreator-custom-parser-options.png | Bin 0 -> 11240 bytes .../images/qtcreator-custom-parser.png | Bin 11909 -> 3597 bytes .../creator-custom-output-parser.qdoc | 87 ++++++++++++++++++ .../creator-projects-compilers.qdoc | 34 +------ ...creator-projects-settings-environment.qdoc | 2 +- .../creator-projects-settings-overview.qdoc | 2 + .../creator-projects-settings-sharing.qdoc | 2 +- doc/qtcreator/src/qtcreator-toc.qdoc | 1 + 8 files changed, 94 insertions(+), 34 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-custom-parser-options.png create mode 100644 doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc diff --git a/doc/qtcreator/images/qtcreator-custom-parser-options.png b/doc/qtcreator/images/qtcreator-custom-parser-options.png new file mode 100644 index 0000000000000000000000000000000000000000..25fbf3b5acfd1d7d6718fdf476772813bab5b601 GIT binary patch literal 11240 zcmeAS@N?(olHy`uVBq!ia0y~yU}9rnU}E54Vqjn>V=;ckz@WX})5S5Q;?~=_wdc}~%q%Fg`o z(jtw{q=S9hL9E?kFNHFLiVjYa+v40*_Q*)}^`oLS3zJW8n-k&{s5$BM#`}}v@1I|* zZ+zSM^4-t1r5xYBl+3rhyZra}xu@TJxf0C4z`z*%>HdFahK5ddRR#tIF9rsNDGUq@ z8jK7K0Za@G3s@K!Rzz^d|C863{d;bwQKv8$!-X`}Dc>2r7#K1(3)THrzkd2RgDL|< z&)k(OS8l&wcRNmB`{~*w)i*actG|A`Gk=cdpZ3$w_x-!keO zN4x$1yqGNX_x}Ip{+i#<^Z$Oe|F>2pa>DeRUKP)ORxek2SNm_S;haU%)0Ztf7R~fm z$HzBz*TwsC$=aq2COn*f|G%04pZhS^xv6H0nr&2bs$Z^qt1r9bmw5cYd;0&s9IpR% z<=i^Y;Lnhk$Ego~MKbHAHR&?(vi!%q$-=1(zk-_9DmuhW*7w7M|nZK|7zf<$k z{eR~B>(BWAJ-oTRYW}a!^%c)Q{{Oad{r@k~_kY}ccGA95q5Q!K{+#J~JY@mSfrly< zEqQEmV$}wTbDwga?pesf;9(kYkA3Nsg74YK_y4Z1`|y7M_cc1+R^^`$@7-Vj{Br$A zd9(U|?Cbxmzpp*R`$SL9If=P_lVf%*@bfx#mtz*@#V8p?N3%Yy_&2FoL-YHdrSe%*1ML@WdTwxLLNv#MsbL!Ln;oZY z_;L2L{jcBU^M0LMzVGkmBCi7Tpjg9OJ+qIQWo7u?x*q&((XQN`jfCUjAWgmN=lj@xNe^zKbWWN9J!)g1v zw@>$1zP(Uio1eP3WdZN%7WGtV+xZqT>AdVW9mD3vg`JwbZX45zK#ANei_GTTPCJW# z-MH$l5#aQ&vRGv0hmKF@6&VZ)Lei>set-J@&!6AR_x(JuJ8tIhQ~mYd_y2kGmU+Ew z^|SW*{~zlA&v`hT|K88v$Hn*0Hr+c%^tO?5g~W?98KI3rMThd9ZK#WqI9~Wg*hhP| z_X!*IqwXz23~J}u&rOdGYFbhqXZ>;N{;IF~|KIoj|2F@h-=+0`KklDA^?hCHzgzMD z`qoU*U-<8VczxB&{`%afyX8+wyxOqea`6%M>=%cw)|j!`Ub^__;M4`ai79UBOAUf0 zn~j%V_#VFBZ_32}-+N|0ce%a!K?m1)MTRXG*lQyfP7#_^^8CHr@8Ylzklod zRm;b^p7Vb`?7o?s^7{AJlLE(=dcTZmD&BNuj+E{d2TN5I%U_pQhcRsBS}f~&?Lc5+ z_`$Ew1#cya%`yM$d{*hE`<3gKEDdHGrrL+T_UD|`_xInaiPEQyW~Hq8|Av2kknrE% zjRiamri=1bErjhD7&7(?F))BKEmD5RmiwoKfXXavWr71I149G4AYwOXEiu3hSZ|p37-Y09l!jhrkqlV+HXF}cm z^7eHJcRVDQs07JvZ0dM*%}tTjEsfzqh3bip-YpmSuP|$NPI3RmwR!Vqb-y_~)+>4h zE=Kh_KxDeqxflLfr0ywL`zgt`Pz~hU+n$Dy>yK1gaj@$EQ{WR6LcTchP z&D$Y&^q=~=_LZkxS;V+rw1~n^p(fMNKPDmYlQo`tSd*zh3;A$mGSqFvXzil(ysVZ!4{Y1->XOa$NlSI{SOo6_SQ~c^Gm7 z4%sfhy{ctm&^vy)049b7E!VUhU#d*`#ceT#fnjUdp_kn9j+}p1N-;3(WtqajaG^%^ z#O929cO5EP_!vy$I6vi_2wv`Y^&tEE%JbEJ^K2xexEL5t1uqrqle3KyRy}k6ymz7> zGlN5>m-fQU`soY|49q>-7qc)hpeNpjRZ})3ALp9_O42Uu!R&l8AQc*pB?epb@7qCz zK{cW(s5+biO8202!r;JpINWLb@=LMtGanT1-*iv*EN6gyMv6QagT}%L&LhfG7#K7T zu5D3pT3dZ7`GeJ~q90*bW_HA{dcSOUb=-FG_xHW;`<3_GU5c3a)9B@Hjn#`v!{%|x zuAeS;{fw{X^4f~KtHaMum|Lm!<$P&MwtUB~&$FgYtmTp^O`H={!_*+uW>O$>%+9vs z_{V$w8!~&k7q3ZTw)OZq`#AT%|4-{bZu6Ybd%a{&fcz*N2_8Tf7SRWTu8U+4gMO^ls(EqO&zOL(>Ho$@JXF;y;_hBeOPQ=gQXW#}X&4 zWUAd^_c-Kb)-?gb!rsI?2t)hn! zl3olBoX(+6%7JQ0>?t0}`aCZg92QT#uzAI14jJQJpkm~Z%XcAAOUVnAs!)>%1GGeK z*r=WO{oUQ$+w=FcGBCJxu*7lh{~FXJl5u<6TkG<-Y7;$FE_F<9xnHB*6UDh`rS10j zsvx0=Nh}YgG!Ona$ZB;_ns{uA3ddp=p-va2g(zft)UG`@U+1o|ycczM$2KY5FIBUr zi*px6?AWxkGWBFl`NjC%6TZG=wG5B&5bAWv+94#iF6W1#UT2lFhtP4^g=ReK!_C&k zPTXEyw_v)d;X5g>B>4P5Yl7 zTeYiZ_pa1GLABdAwC0%~XkJ!jqW2_S?s$eRd!?xBlPwH;;~IsGitZ&Tda4Mm4BgvO zuqWf=sjV8vG;==~tYS+H=RH`+9J#G$+G0iVx3S?m=Oiv&Eb~0pI^{s_6M_9c+yRTG zKR8#px>aSO#}YHmgL6CrZr|OzC4ED}@yO(xH#XI5(KXagcs60jsX&SQ!fct(6{`6X zUV~MuX&;m`C{4U|!#iU4v-WKn zZ8s(Ov;vxnA82G-+?(M3?s^^9bD>8sTS}a6=sUC)b3WzvRGR4VHn7QZ;)7Y6W6$LE z>|Qoq{L}t3!2-Ec^*?7c-u`73aKo?P+G@76bZyP!6DwN|a)Gq`Ss7(oKmEe_c>V~> z9s9bhdiHxuXlM&{x;SxKYX0VL?pEbW(g86^fPyc#(p;z6Y zqzh~Bg9<-T8MmO(>qW)O!=`)vZcbXarhNBn?P$xelMC?tnbN^x3X^^{VGX5zJ(_3S)H1{ z?d(^@c{Qplva7Vbbj<9Io;!8lV$O>VOOkYMSl?P|w26tqfs?IIv1Y4(0{b1tDHBY+ zlJ`FiaQd{+(d7Olp)YH8Tw`ER-SLb0*OyJU^B&J(_jB4Nv|IMJwzJhyuY%tH6|3f6 z6A{jM9KNnm**hdE%twuZ!Rv&)D%atxPisT!gDmGsZ*Z?WboR>k%Wr!vnUfndmNO^% z=`X)Oq4(L;tDe1!UZ!3@Ah`K7Lxa#ZrnOlN4A5Ey(&K`~0E4Q=nRDmPoj)(n#Ly6E zC~shE8>_E+=Iq(CXU@FgpTWk^@KCrdrgQHlrS;Q=T!K$9FeK%LYuc>aN9@!Bl9bo$AAVZDZu)~&3+%FjdB0?~t-BR+ z?e*5o7|z6hj*cr{zo~k2L_Ka7$Gxg&xf$~lzI(g(9(lckJ<#btv-`i)n}ud<&9619 z{I?nDEh*Ulgv;CNz{P3na(2pShc`t!{=Kp+nDgAN5G}p9Ep{Gf=kL;6as0uXr}x|b zar&&%7TNOY(mvs4EAQE?cbYX455zUy+VtY(;W=d|Hbg7Esw!1fk6y85dcx5!m$uH_ zd~BU>>FF)piCc|VEHCCS8%xH zvgte71DP0n)K2X&TEN0?%bm5cFrazun&VvBAum-FK#eN~4MtT^;sdvKKqY|}D6Jq1 zYK0$K7rT2~?(H(}E7B{KS88fatZJDRp0s(YKupu^@^`mI3nP*9+Lf zANp{<+yB4r<|K$lmnjZXr$Q@q4n%0$hB!_KWj^qy?NlM@r42>Ix_ zL`v@4y=6;?))bw%n?3bhm7h-uE#JQKtH$=kPqVK{XV1Ck7Lvq0b%Ve$;VA}vt3NzC z+T9<0;?zH3aD={byGknf6U+$;?h6w`x&2jf0OKCCz8% zYnfDbW$}vIz1sNkt47fG_TCSSUJjg-OGWR6Hnq04)=fFEBGCHP z#8o*#AkR$=f9T9_`(?duO6vcGEeez1Bz25nJ-tT^{ zPeEbd#J&FH%RFp8cKz|8sl7Xd1Z$GDHtxM|!L=aKXwzzgm7AK``Rkq;&*#*4jGQq2 z7;A{qlqIGoz6Z>X?*G)Q{O-uHP^J1+ZmWK1`RKVk7J8#RWx@*gOEa_tRVS?4$<#}!uJRy;-bUv=_qU}4==R!+_R=Th7R5gp^WMDAh0i`&+ z1=Ou2EI(cOKn2+mk2h=Q3OzB84P;_C5HUqTa7UcijJb2?&Ya0vzqenCi9w>5hoy7x zC+5npL5E8I{AqV)U@*{9dF9n@V{g~*$jQJE;7`!H04L*!NKh|l)>LDL1ucqN3m<qFH! z!S5AIWf|E6oSrp!{%l;VHRZtz)|Ar1P5k@MNF8rfW@E@`68e-Lv-rabx9uwH)SQ)0 z-RMaEU9v>;@#VKKQ>~pJKkhm7BtQOF!rKS$Eav!RMz%}lzs#(9$i?0urF~H57U!a< zPp-c8a@S=<1D&(1HYMfdpOH+dKOa(SeDcB z`0nAdFW&1p7#XA%v?OI+J+O2uFQ^z>0E(193s@N#5M>x>prfHsJF%>+tgh~#00To$ z*UyHRFJD$^Cg$bkrKP3SA24BH;F)jm#OuvevC6$u6lOWGF)$wj$SwU1RNkKX&ZhtI2FqUOS< zAj39lJHA_yJ}yxbyYhlYQPXZB7-tBmFvVi`K2+n;JK@lGi8jXIEcu zKOU_n?Q+`dUft4I=qkQyYjT>}OVzpixHS@2ci|f zGui1d*>6o*^GxTT7vDbKap!WSeYN!QxNqNnGP`G$+w86gT=(;~^V}&H`nb0`aQ;kQ z*dXNgO*Q0Y|LGrVE`BO9-FL@0Bk_GqT=^qTt9m)})smw5BDs^-6})|V>t3i#v0K1h z3$1xR`m5)DKlFB|aQ3p6u$UD)mHjU7yg!3siovw~ae8;<^QG>@o((_b60@Q~=*La# zDGXpnVGg_Cc}(=VxR% zuwn-PjCu3cO&5Ch>{(h`+BbF|W`+YFIGxuWiOZaL-J5ffW(os?ftaBO%ev`8Oa6np zRmT>wbRO6m%mfNgF~ao>69a?K9HCvdQ{VkEn##dou+i%P6J*%vX=&uenUxc~7{YW-H7%=cPe9Lk&aSMGW6KmMP1zVwb1%Tuantgf_w3OZ|i%T(84O7mQG z&{$nSrGDbh0?T*KGd70vo_*DH>p*`MUtLG|oTNQlezBA#%2a{|>D)99-Yq*X(0uC# z|M%W1>0LrE_!$_yB$|chFuOmUx`6NZk?5+d6Y-|;WoK_P9_5UzG%8?W&{%j%f8n|` z&4adkW1={}Jt?@M=&`J=clyih`dzmop3aC1yACe4Cx2d^b!v|h$iPKHSK^%Sx*YH^ zVpzaZ#mN9F+Hti|TXtzAUSAgr9b@rQU<^K#W<6DbeOvDBZ*zB-P4-X`TA4Cw!_MmO z@5Hnqtx*-BPM25Oo*!}+3jJXU+zlGKNT2keQ^-R_sIvuyY?~vtK4;(8UuVy1b00pj zb5#!e=~aiAuBi9EUa;-o&ehTn&p(fgew%;1ReSc{F20?I)_7uDBWQz#L5?EKGDmn1fKeS4)njaT4D%Jdh@51Ie{^(lN^Z1=UCHCfW@V^5#F z^W(*uNj+|y-gvRKHt^7;r@a4z;_ez8@;aJX zn*8~bd%IBTpE=^kXNGRMUNCh-Nu{ygY!>PI_();)xf#B9?7ptOD4?42v3RcA%g_>4 z{@Wi_rUaO)9)5kSqgP62 z90Q$78Uiz~PO?4}Jj;2V(3@4BW}nwj@_4TLO3(6YV&#$>l3(-8KTlr0VZpvhK2t7B zlsa7AeBIkkv-`E}>4Q^4G&ogFR! zPj-%gY0li4Ic?05ds7Z}G-L&M7nx02utltyFW_C_%+`>yD`vq`&yK}CyV3eLGAnVD z)YPzlQ4ao(Vt1&?DH{F~VAejkLTd4o)K`9mueSCU$QVf+DtePGqIUL_;+{1^R_uLe zT7|yG-T5HD!^u-)VWyXXy3mzlQTlHsbu5y5#mc|v&UM~$?!ersof{Lxb?l#OG-#C< zoh!_2-hZv{ob$H!p1HjDG_-Bcui=;^9rlQyOKM4H%NpSzn~sThy*JF6RW0{sSNHJ? zN>khFO1XBwSuP&i-pZ}|YVQ@7qY0v3PMp3$O}05HclNeQX{>J9!Mod4b;s{cjWBA_~DC*Ns}#0M{5uMGzU?%L@a%Fgb8xL7hR*zX~Y};cke4L}< z>iu$_xa0T#d$%7t#4xKmrYh`KpS)>O;k%Q8&!l_KemV4F^MYF^s;?cGXt!liZ}ac! zOy?UvncZ)7OkVx&OM(>7C7r3Oc7O0NU!0%o$sW?yU(~ubZE4R%>($oYoZn2`{-s`? zF2uGvK*%d&mC%_^mh7IRH=BxcW?m2Q+JAFqWq7(z;4SW7JWGDfy_m8qzc~5uj7%SU z+t)j`tob5q%zv|A@YwXQ!*$c`q;I~qmF|UbTW-EGBoA_ z=LhcfwT%|5-|^hPq5RKM&96^&)xJ&F6HBBfKN5{I`)l%?eNDh3b*~5hS5MVl-@VR~ zf12ohTlI+nOkOXvU*7LulX98fL+6(!GB&h5XzDZj<@ z?IaJCpr0yz!9y) z%DuN^ocWx%G8Yu zcSat6{qkx5w@by_yP`g9D_hj_hmk?`39pRn#M2jV@HqK?nU|A#WVT5eYyOXe>TxGd zZPQZKNDS7W7vB*Q`&Z2W?9BkDDX}{`bs~1JZZ+gy`DR7#vOVcnq;=EjoJojAd5d>VtPuBi(bhmu>N1 zd79&$uw3fW=QEeGxJ_mVIHcfpf=lMzu}wx?Q`Wa69#u}&NZ0l%Fkfw4bnRH84AX{3 z>p$Mwx_B|qDXra4_>5OQP6mZgh{5y;eA}i3H5uwp5G|g2Gt8*qNzc@4?aP?mYen^Q zXJ{Mq9Zal>TCuHc`|&%E)@+g8s#%zwa6BwZ=2!1oo5RvselLxf-5E3%=Bq{|JMLt5 zKUuTXK700Zmhf$%8j89h2X{=nSECnbW2~^cedU?UQO0|IG0dub_C+>!v#Dp{TwCti ze><)hiygaj!|*_>G(&(Bcc5DI>)D?ZB6;6mU|>+)BHV+w(gO|KfMzgZ{hY){Qx5d6 zXJqhN@jhRs*TOCQUtu5nu@al_{69l}w3sk7glR2&xR>QE`_rEJmBI5q3wJWBGB9{) zyi*miS-R;(=j?a)&z9L<3W~gM%v^RXSgW|+;A+*PhF_N*ew}AAOk-uxShz+=#($;G z-y>(|EPpN0za`{R^`3|?Q%*JAzu;Ft-};7IElb8T{}5(|1uac+O`?~*?F)_5eb0S9 zJxP78sO?gt_8aP5Zd-U>f~;NP!dYuuSgh@(QQ?((GI?X!>8dS~3=Cc`{5k*H6<)3q zNnI%PXs(ydQlshzCoZSiUCCK<7c@!8(k}ESa8}du5Hb70%QYgYeL`<+isuJK8ca_( z-*|j7w`Bi@CkIW?CZ|CiGW7N@bi@^@rQEXCXkEPdtzXZN*`K@kzP~`^&w?K_HZeJH zmj3NkRz0TTZ<3+3wC;6@iPw!={=58c@8_Co^E+|Dr|k3mQfpMstzlS@>(x;=OK<1@ z-LX>)zQr|N)(CBVq&tm;A!=>QSHGI;zj+Uo{$B1sm3{t8{{toaOKgmcnlD-Zf?XfGe_Ha?U+%2%--0ze*WW#J-k!71XNvB+IN!QCHjmb>-yb@` zf1l--yIfh8uRpG0xDco6(!c#mo#gGG2Tnh!ob~YW`6<);9J~6yeQ8>=ytL1O^W5_W zwWsCwp&^xO(Iq+)eQoq@ZuLE{Q(C#OMM(YNOwViQJExyno^yErifJ!Z8GM!qEegxH z)lp^>X?$0uFYel6?alLw1Ac5d_mEd6RqXIrjhAcE_qwum#A;|ysyCK{MM^6Ken6`)K-+x_O@nHog$#2 z@WpA%ieAUBOIzk-KHoRR;KP@#$?vRoPYYx^prWOiendI${Yu69t2H-G)7eGTpV+M3 ze5p~n^o<(Vvzv~VTJi6KU9awBUO$^9sQ$}|KcD)4-#quyGr-UL+hmuwp51#I7vE8z z^h{gv*47o%rfbi=#^%7;8`@;6KkHn9mb356Bgvnv{<2LrQonV2cJ|tJqOZ=_Z=Nf6 zM&JGO_Q>PwzO_$jFHcL&n}6(y=lqkInlg#OQm-;U&dEDbsg$V~`0Uo7jhm-^?PXl> z)k}i4W~wYhz@ZjxN6=s@g9GOm*qk8FZqS08^y+j4@T)Q~I5@A2;ACL9kf9ZPNRNRb z!(u9^2c(A6d7xez-q8&jD?nL)hUlPSnY35{na>XpZ2y1u>gDPA`@WyvpHVo8*=EbP zq-&BlHYOk6mU}xd)3m5z``t2WFNOvs`I=u}f1jUQ|KL$Fzs;YAWy`wzPcrJ&{L1#z z?%;oN|MBtu`Ig1ca=a%xPiDTex4OJyg9anR9gokEhn{|7=9jmuTz1rxFMuzY@0uO+ zr5d}kH#bgBR!@)Wm02LOOeRND_064~ldG8%m?k<-<&UX&^P%?pcDs{_rw-mqcVG*B zxBvgYnVb%M!F=03OcIdwd3$?%e>HQ0(bNwITKQ$|HeUIq(mr!>OSM|VBrgHk1uPAo z?^JE7UK~k!Jy}K#G@KQ%q@`WXwxnj`S5H1;Z%%J-@AB)@zW;UG{#*L}Y9)0`pD7Fs ztX>uWf4cL@MN4Gu`tfu2-Wlfh|JVPS+F$qatoi;5!#fXz*Pr+`-QMty(TPO9SWf?1 zRm(H?!sj`0GF-4x-ShsB^5^4z{Q9v1@_T+BYJKr^dEB?PA13~EkFPL}(d6Dcdw%Vg zF9D|&Ue@09iinA^*^qk9_V(Mad( zPy1vdUpVKv18Yl!tK4eJ-D*mIZ@6tBrs^@j2^>KiJ{>sxUCz#Oiwe_@ zpLY(Qn$=$GIfwthZOx}Y&-1?3J%5=frr@RR9O`uE+4dTN^;=jcEM-xiJyF}S#31xt zyFSB$R{~t>%lS_S=3>+mJRRb%IL! z%%v@tm;2w}nHqNOui-+!Kbsy`%0^y|jrY7aH8u6@+>4w3`|XH4hHGSt#u6`+UCt{+3^tjyF#gXI6EQuDSI6$Y*(}EXgMZ?W-1;ev_JOYeGJDEnLFPahQH9@}bo;~A<#6>I&Cmvr}zrXO& zm6?~lwf7s9Z$adqPaKUqckWbn@7r>ly{MsR#?yJz8-y6trZ%tEzw^B_yl=i$@v}S4 z>Cv;ETzJCp{`ZsB?DGGcYT35s-`Bgpap(7Y)$ez|-#1y;mCu(ifN%4Y&1Qj22UwyL z-*&6l|LrZaua4xq@UmHebISI6RoT1e@6}@F}c PFfe$!`njxgN@xNADNxT| literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-custom-parser.png b/doc/qtcreator/images/qtcreator-custom-parser.png index ea300583aaf707c47c132d610c690adb1cbac946..fbc344518c31ab9e451884273ebd827378599467 100644 GIT binary patch literal 3597 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�el#wQ%6R6y_vi_| zj!z**Am<-k((*#X_f)Xf<@q~S+IJZ_a$d9%o*y*RXu7~$=Iv?vPX2Rc!n=+et1%*0 zFF4%AH`xXaRZy#3gHd&h|NgqWEB-#NvOjn6RewQ+z0JMG%`Xzd7&H{u?=O7vr*BK| z*UiPuzvrI+61{wHpi{N|ODnm*p&I{h@<(g!|GxQQ?vx`lL>YKy3$1xRYbC#Own>1~ z{c29P#V`8%-vxUzB&?XaA#Ce>-3Mk2;fw8SSK0jV`FZuyjp=RfX;rrUFZ8D_vr%1} ztEytdex>rrZLd$ku6vhPvpp?;v}w+|--kE;+IKOn?o)fh374N4@f8RE7Z#bv)_%?M zvOD=Kz-YRc|H`Kyj@6uG+}12~=Xi8mo#gEw2fWLDw?4D^=To_ow=&z`uH*D(b1wrs z_AC1Pf395gPU@*9-?d|(HifOeogbS0Onp+8*NG2`62_gsEkE}BOv(MR{HoDjmWJGw zEu70mrA!v_`d=$C3!I-PUs;lRrccjKB?N-T5tJZ}5??5`S~{GECtoz>y|;eZ2V~r#sq6E#l$0rqvMO+ zC%-)|wf=>^bN`u=Vh-;^Ken9f&o;5;?J})}Rvs_kk z>vZ9N+20?|I#v5++04*V-{Vsf&e?C9n|Ht9^||}U=I*{FA0&5Aa(d;L+>2!2DIE4CRMrdb2PD94ZTKDtfG<%+Jsu z^a3{R3rUHv9tdcq3M>sb91J`3;)O&hGsA^sm2c1dIF|--!p2fQFKtOG+!UeXb&}=f zQ3l8)&BA~=vu2%}F0>@#@@1t}lfJ|=Ff1_lxH5On91+_m-kb~!6a0}oJIGdn%b}kE z;I%_+CZ!Ra3=9SrN_;q#cb73U9B{a7sLH@_;6k$ymgPZsjRf_HX|8~nJ}}CPrT`{} zk{;>0x99lpmfqLDS6a|9QFzb4$K}UrnUr^z-#0P(wD9#h>7*wtBm>2i`uPgwHz?JxLy{JqhSgzNAAvh$redv?C%=MMtP>Ke-}jW$WEGC1g5 zs;PT%<@1YZ=)rvVM2o&o47?I=8oj1*R}CczVsSuU%$PUGZY#WuJgUXWlGa$gaxZz^1A* zf94EJlP@PSk7*`m{w&E%D|<2VvI{4}gheeomtKCn^yWf$KjSb?@6$^!`S@A>eKS@2 z{JeKAVMVhv7#S{2*-%kcQ?+gNl=(X^eF=IzvwiK<)920B*+iF_Rs7N3wC`I*`Duma zlFM6;E?xREXeD#ayG8Z0&UVj#?K5xr{GCNlXFl~yQC;3C#Gv5Hxm@dXaMJ!_cBY8#qz9$YKYkMWy`#CH|1o$fAsj?>Errr zr*k*{@o}DVp>xd>lRzehB^nP?QZq|dT`{!_&yK6Cij3U+=giY%#-IP~zqLEo+0WRI zv#9ymlPe|FI_u5XtK=zwNlcbHlY0W)owl-O`=c zI!Dcmp+Q7-j)uOSf#qG@X=^Uni%0#eSX=qg_}VY+Y5dcc?XDv;;OFL zb$#<|&z-b$RZsj%d;GFgTjyNq`xjhAvkJXt#A}FmP0rnz!TPSNu-2e^Q(T~V@wBb7 zSKq$PJA8A;oM?AHVO0i)E}_2j)8Fg+l=U7ro87xy>(s0+UC!tC4?Vdv>#E1QG{%@G zCdpF`_6KN)+iWo=Yr}Z= z=49>Oa$LrXp`k?e%-Q?qaS~NeOdd~B*w1cmW@q^2MCKwE29MxFD}PoWS8J04MbI1@ zQ*$dbJE&CPp=NczyT(=^{xQvmM>;1jUYzXQ4~}n@x|fr`i=^{S?XxNQ&YTR*ayegw zZxmkkHQv10U9RRsa!oC%gX~8LuZ-p0MQq z>TSM$|6}J1bp`*aKVQtVT{?5-V|70s!=k3@Z*Oj%R4!pqm|0(aTz%**@rU{$; zI*|DMoM5IM|M$()pR#QJ0V~(Rg)PC7F*XQX8hcFoXWwvdZYk$gks}NY3=E#GelF{r G5}E*obsG}^ diff --git a/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc b/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc new file mode 100644 index 00000000000..a4ed6504542 --- /dev/null +++ b/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \previouspage creator-project-settings-environment.html + \page creator-custom-output-parsers.html + \nextpage creator-sharing-project-settings.html + + \title Using Custom Output Parsers + + Custom output parsers scan command line output for error + and warning patterns that you specify and create entries + for found patterns in the \uicontrol Issues output pane. + + You can activate custom output parsers in the + \uicontrol {Custom Output Parsers} section of + the \uicontrol Build and \uicontrol Run settings, + as well as in the \l{Adding Custom Compilers} + {custom compiler settings}. + + \section1 Specifying Settings for Custom Output Parsers + + \image qtcreator-custom-parser-options.png + + A custom output parser enables you to capture errors and + warnings separately, according to the settings you specify + in the \uicontrol Error and \uicontrol Warning tab. + + To create a custom output parser: + + \list 1 + \li Select \uicontrol Tools > \uicontrol Options > + \uicontrol {Build & Run} > \uicontrol {Custom Output Parsers} + > \uicontrol Add. + \li In the \uicontrol {Error message capture pattern} field, specify + a regular expression to define what is an error. The custom + parser matches the compile output line by line against the + regular expression and displays errors in the \uicontrol Issues + output pane. Create regular expression groups that contain + the file name, line number and error message. + \li In the \uicontrol {Capture Positions} field, map the regular + expression groups to \uicontrol {File name}, \uicontrol {Line number}, + and \uicontrol Message. + \li In the \uicontrol {Capture Output Channels} field, specify whether + messages from standard output, standard error, or both channels + should be captured. + \li In the \uicontrol {Test} group, you can test how the message that + you enter in the \uicontrol {Error message} field is matched when + using the current settings. + \endlist + + \section1 Activating Custom Output Parsers + + \image qtcreator-custom-parser.png + + To activate a custom output parser in the \uicontrol Build or + \uicontrol Run setting of a project: + + \list 1 + \li In the \uicontrol {Custom Output Parsers} section, select + \uicontrol Details. + \li Select custom parsers to activate them for buildin or running + the project. + \endlist +*/ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc index 7d350259065..554d3441121 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc @@ -211,38 +211,8 @@ to the Qt mkspecs directory. \li In the \uicontrol {Error parser} field, select the error parser to use. - Select \uicontrol Custom, and then select \uicontrol {Customer Parser Settings} - to specify settings for a custom parser: - - \image qtcreator-custom-parser.png - - The custom error parser enables you to capture errors and warnings separately. - You can configure the error parser in the \uicontrol Error tab and the warning - parser in the \uicontrol Warning tab: - - \list 1 - - \li In the \uicontrol {Error message capture pattern} field, specify - a regular expression to define what is an error. The custom - parser matches the compile output line by line against the - regular expression and displays errors in the \uicontrol Issues - output pane. Create regular expression groups that contain - the file name, line number and error message. - - \li In the \uicontrol {Capture Positions} field, map the regular - expression groups to \uicontrol {File name}, \uicontrol {Line number}, - and \uicontrol Message. - - \li In the \uicontrol {Capture Output Channels} field, specify whether - messages from standard output, standard error, or both channels - should be captured. - - \li In the \uicontrol {Test} group, you can test how the message that - you enter in the \uicontrol {Error message} field is matched when - using the current settings. - - \endlist - + You can add custom output parsers to the list. For more information, + see \l{Using Custom Output Parsers}. \endlist \section1 Troubleshooting MinGW Compilation Errors diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc index 89eb026500f..5dbdb44b176 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc @@ -26,7 +26,7 @@ /*! \previouspage creator-build-dependencies.html \page creator-project-settings-environment.html - \nextpage creator-sharing-project-settings.html + \nextpage creator-custom-output-parsers.html \title Specifying Environment Settings diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc index eb0532f64e9..f70f1d6db3f 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc @@ -102,6 +102,8 @@ \li \l{Specifying Environment Settings}{Environment} + \li \l{Using Custom Output Parsers}{Custom Output Parsers} + \li \l{Parsing C++ Files with the Clang Code Model} {Clang Code Model} diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc index 32f27d2bc24..7622bf1fa45 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc @@ -30,7 +30,7 @@ // ********************************************************************** /*! - \previouspage creator-project-settings-environment.html + \previouspage creator-custom-output-parsers.html \page creator-sharing-project-settings.html \nextpage creator-project-managing-sessions.html diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 1c7e542e5e8..0ac3e3c1940 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -80,6 +80,7 @@ \li \l{Specifying Code Style Settings} \li \l{Specifying Dependencies} \li \l{Specifying Environment Settings} + \li \l{Using Custom Output Parsers} \li \l{Sharing Project Settings} \endlist \li \l{Managing Sessions}