QMake Outside vs Inside inc bug patch

Oliver Maurhart oliver.maurhart at gmx.net
Tue Jan 18 22:28:03 UTC 2005


Due to a conversation with teatime (Jens Dagerbo) today on the forum 


entitled "QMake Manager and header files", 

I have downloaded the KDevelop sources today, opened it (the first time ever) 
located the bug and fixed it.

Well I guess so ...

Attached is my patch file.

Bug description:

In a QMake Manager Project you may have "Inside" and "Outside" include 
directories. However, when you specify a certain directory as Outside which 
does look like been located somewhere in a subproject, the QMake Manager cuts 
off the additional part of the folder's name and insists on having solely the 
subproject folder.

+-- foo
I   +-- inc   (holds valid necessary includes)
I   +-- src


So specifying ./foo/inc as "Outside" will result  in ./foo as "Inside", thus 
introducing a misconfigured *.pro file and at the end an errounous build for 
the gcc is given -I./foo as a useless include information instead of 


Within the *.pro file there is no difference between "Inside" and "Outside". 
This is done within the QMake Manager. It does this by using the 
QString::find method on known subprojects. When macthed the subprojects 
folder is placed in the "Inside" area and the former path is removed.

However, QString::find is case insensitve and also checks *the first 
occurance* of a substring. This is inappropriate for file system paths (esp. 
on unix one).


Provide an exact match for determinig "Inside" vs. "Outside" paths.


That's my first patch ever delivered to the KDevelop team. Is this mail a way 
too long? Should I be more ... ahm ... short? Don't know ...


Oliver Maurhart

 * This is my signature
 * @return	all may account data (if you need it)
CAddress CEMailSignature::getMyAddress() const {
   QString sName       = "Oliver Maurhart";
   QString sProfession = "Software Development";
   QString sStreet     = "Duernfeld 3";
   QString sCity       = "9064 Pischeldorf";
   QString sState      = "AUSTRIA";

   // Telefon as hex: <cypher scratch>
   // But having it on dec seems more convenient, isn't it?

   QString sTelefon    = "<cypher scratch>";
   // should return: "oliver.maurhart at gmx.net"
   QString sEMail      = getCurrentMail().getFrom();
   // Chat?
   try {
   catch (IamOffline) {
      // sorry

   // normaly I use a single line here ...
   return CAddress(sName, 

PS: Some of my favorites:

* Linux is just like a wigwam ... no Windows, no Gates, Apache inside!

* Outlook Webmail Client makes you go gaga!

* One of the best oxymorons ever: "Microsoft Works(R)"

* Some say, "Open Source will destroy the software industry, many will loose 
their jobs, if software is for free." - David Adams: "Just because the oil 
companies are enjoying increased profits due to higher gas prices does not 
mean that high oil prices is good for the economy. Quite the opposite."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: projectconfigurationdlg.cpp.diff
Type: text/x-diff
Size: 504 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20050118/8dd6dd37/attachment.bin>

More information about the KDevelop-devel mailing list