Mike Arthur mike at mikearthur.co.uk
Sat Dec 5 20:25:14 CET 2009

On 5 Dec 2009, at 15:54, Alexander Neundorf wrote:

> On Friday 04 December 2009, Mike Arthur wrote:
>> On 4 Dec 2009, at 21:35, Alexander Neundorf wrote:
>>> Because automoc supports all automoc-features qmake provides, while cmake
>>> in general does not support automoc'ing (and the qt4_automoc() macro has
>>> by far not all these features and it would be unfeasible to try to do
>>> this in cmake script).
>> Ok, cool. With this in mind, do you think there would ever be any chance of
>> getting this inside CMake itself (out of interest)?
> Yes. It "just" needs to be ported away from Qt. CMake itself uses STL and has 
> its own cross platform helper classes. I think the biggest change would 
> probably be QProcess.
> That's the list of includes used in kde4automoc.cpp (it's really just one 
> file):

Maybe I'm crazy here but I'm wondering if it might be less effort to either have automoc as an optional part of CMake (that only get installed if it finds Qt) or perhaps even try to modify qmake itself to make it more CMake-friendly (as Nokia seem pretty open to accepting patches now they are using Gitorious). Thoughts?

> Hmm, the attached archive doesn't really help me.
> What I'd like to see is one complete (but maybe unbuilt) build tree with cmake 
> with UseQt4.cmake, and one without UseQt4.cmake, so I can have a look what 
> the differences are.
> Or you post the compile commands for one file got both cases.

Sorry, I should have made it more clear, I've sent you that.

If I leave it as I've sent it to you it won't build. As you can see I've got a "#include(${QT_USE_FILE})" line, it's just commented out. If I comment out the "include_directories(${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR})" line and instead uncomment the "#include(${QT_USE_FILE})" then it will then compile.

Mike Arthur

More information about the Kde-buildsystem mailing list