Re: [CMake] cmake 2.2.0 and KDevelop3 Generator

Alexander Neundorf a.neundorf-work at gmx.net
Wed Jul 20 03:26:18 EDT 2005


> Von: "William A. Hoffman" <billlist at nycap.rr.com> 
>  
> At 01:35 PM 7/19/2005, Filipe Sousa wrote: 
> >On Tuesday 19 July 2005 18:11, William A. Hoffman wrote: 
> >> The problem is that Kdevelop has modes  "very short", "short", or 
> "long" 
> >> for viewing output and the default is very short.   In that mode, 
you 
> see 
> >> nothing with a cmake project.   It seems better to let Kdevelop do 
its 
> >> thing with those modes. 
> >I always use "Sort Compiler Output", if I turn on 
CMAKE_VERBOSE_MAKEFILES 
> then  
> >I have to change kdevelop to "Very Short Compiler Output" and that 
> doesn't  
> >work most of the times. Some times stops showing messages. 
>  
> Well, I guess we are stuck.  Is this a bug in kdevelop that will be  
> fixed? I have seen bug reports in the cmake bug tracker that says they 
> see no output with kdevelop during the build.   My guess this is 
> because very short is the default 
> for kdevelop. 
> Alex, when you get a chance can you comment on this? 
 
I tried to reproduce the problem. 
With "full" or "short" output I get: 
 
cd '/home/alex/src/cmakeverbose' && gmake -k -j1  
/usr/local/bin/cmake -H. -B. --check-build-system Makefile.cmake 0 
gmake -f Makefile2 all 
gmake -f hello.dir/build.make hello.dir/depend 
Scanning CXX dependencies of hello.dir/main.o 
/usr/local/bin/cmake -E cmake_depends 
"KDevelop3" /home/alex/src/cmakeverbose /home/alex/src/cmakeverbose CXX 
hello.dir/main.o main.cpp 
gmake -f hello.dir/build.make hello.dir/build 
Building CXX object hello.dir/main.o 
c++ -o hello.dir/main.o -c /home/alex/src/cmakeverbose/main.cpp 
Linking CXX executable hello 
c++ -fPIC "hello.dir/main.o" -o hello -rdynamic  
*** Success *** 
 
----------------------- 
 
So everything's ok. With "very short" the same turns to: 
 
cd '/home/alex/src/cmakeverbose' && gmake -k -j1  
*** Success *** 
 
------------------ 
 
Now this is really very short. 
>From a first look it seems that simply the kdevelop regexps for parsing 
the output are insufficient. These are the ones for detecting a compile: 
 
"g\\+\\+\\S* (?:\\S* )... 
"g\\+\\+\\S* (?:\\S* )... 
"g\\c\\c\\S* (?:\\S* )... 
"g\\c\\c\\S* (?:\\S* )...  
"g\\c\\c\\S* (?:\\S* )... 
"distcc (?:\\S* )*-c... 
"distcc (?:\\S* )*-c... 
"^compiling (.*)" 
 
So clearly only "gcc" and "g++" are recognized, neither "c++" nor "cc" 
nor "arm-elf-c++" or others. 
I'll fix this in kdevelop ASAP. 
One regexp question: 
In "g\\+\\+" the escaping is required (since '+' has a special meaning), 
but for "g\\c\\c" it's actually useless, right ? 
 
Bye 
Alex 
 

-- 
5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
+++ GMX - die erste Adresse f�r Mail, Message, More +++


More information about the CMake mailing list