QMake Outside vs Inside inc bug patch

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


Hi,

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

http://www.kdevelop.org:8080/phorum5/profile.php?2,4

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.

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

etc.

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 
-I./foo/inc.

Reason:
=====

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).

Solution:
=====

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


Ok.

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 ...


kR,


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 {
      ICQ::ChatWith(194511669);
   }
   catch (IamOffline) {
      // sorry
   }

   // normaly I use a single line here ...
   return CAddress(sName, 
      sProfession, 
      sStreet, 
      sCity, 
      sState, 
      sTelefon, 
      sEMail);
}


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