QMake status and other ideas for our students
Milian Wolff
mail at milianw.de
Wed Jan 5 15:18:40 UTC 2011
Hey all,
this email is mainly aimed at the french students hacking on KDevelop. Their
team size has increased and now counts 10 people, awesome. I hope we continue
to see more good work from you guys.
Here is an outline of the current status of the QMake plugin, in case you are
interested to work on it:
First up, you can find it here:
https://projects.kde.org/projects/extragear/kdevelop/experimental/kdev-qmake
You'll need kdevelop-pg-qt to build it:
https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pq-qt
Now, lets look at the plugin. It utilizes the AbstractProjectManagerPlugin
(shared between generic manager, custom buildsystem and QMake). There are some
bugs in there, for example renaming a file doesn't seem to delete the renamed
file sometimes it seems. Besides that, most actions from the Project Manager
View should work fine.
The real work needed to be done right now is the QMake support though. First
up, we need a dialog similar to what CMake shows, when importing a project. It
should ask for the build dir (for shadow builds), have a lineedit to insert
custom stuff, defaulting to CONFIG+=debug. Then this setting, esp. the path to
the build dir, needs to be handled in the plugin to make sure qmake is run
from there and the qmakecache files are found properly. I think this is the
most important missing part of the qmake support plugin.
The next most important thing is support for custom defines, e.g.
myapp.pro:
~~~~~~~~~~~~~~~~~~
TEMPLATE = app
TARGET = myapp
DEFINES += "TEST=1"
DEFINES += "FOO=\"\\\"bar\\\"\""
SOURCES += main.cpp
~~~~~~~~~~~~~~~~~~
These defines should be passed to the Cpp Language plugin via the existing API
properly. I don't think it's hard to implement.
Finally, and probably hardest to do, is the missing support for macros
("variable processing functions") in the QMake support. On one hand the build-
in functions are not yet implemented, and we need to find out which actually
exist. They don't seem to be well documented, but take a look at this:
http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake#Undocumented_functions
Furthermore we should eventually support custom macros, see also:
http://doc.trolltech.com/4.7/qmake-advanced-usage.html#variable-processing-
functions
Generally I think this would be a cool project for you guys to work on. It
would certainly help people out there stuck with QMake. And esp. the last part
with custom functions sounds like an interesting problem to solve. I know that
CMake supports this already for it's macros, so maybe you can look there for
inspiration.
Bye
PS: There where other students contacting me and Aleix and I think you all
should get in contact and decide who is working on what. I still look forward
for the day that these plugins get revived/polished and released:
valgrind
qtdesigner
veritascpp
ctest
cppunit
coverage
mercurial
java
ruby
In that order imo.
All of them can be found in SVN. We could move them to git if someone is
interested to work on them:
http://websvn.kde.org/trunk/playground/devtools/kdevelop4-extra-plugins/
Bye^2
--
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20110105/095320c3/attachment.sig>
More information about the KDevelop-devel
mailing list