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