If this is a cmake bug, please resolve as downstream. After update from cmake 2.8.9 to 2.8.10, compiling master: AUTOMOC: error: process for /local/build/Qt/kdesupport/phonon/declarative/moc_mediaelement.cpp failed: /local/git/Qt/kdesupport/phonon/declarative/mediaelement.h:55: Error: Undefined interface AUTOMOC: error: process for /local/build/Qt/kdesupport/phonon/declarative/moc_videooutputelement.cpp failed: /local/git/Qt/kdesupport/phonon/declarative/videooutputelement.h:54: Error: Undefined interface moc failed... make[2]: *** [declarative/CMakeFiles/phononqmlplugin_automoc] Error 1 make[2]: Target `declarative/CMakeFiles/phononqmlplugin_automoc.dir/build' not remade because of errors. make[1]: *** [declarative/CMakeFiles/phononqmlplugin_automoc.dir/all] Error 2 make[1]: Target `all' not remade because of errors. make: *** [all] Error 2 make: Target `default_target' not remade because of errors. -- Failed: Qt/kdesupport/phonon
Can't reproduce this with their 2.8.10.1 static binary. Also with Qt 4.8.1 I have... mediaelement.h:55: Q_INTERFACES(QDeclarativeParserStatus) mediaelement.h:26:#include <QtDeclarative/QDeclarativeItem> QtDeclarative/QDeclarativeItem:1:#include "qdeclarativeitem.h" QtDeclarative/qdeclarativeitem.h:46:#include <QtDeclarative/qdeclarativeparserstatus.h> QtDeclarative/qdeclarativeparserstatus.h:69:Q_DECLARE_INTERFACE(QDeclarativeParserStatus, "com.trolltech.qml.QDeclarativeParserStatus")
> QtDeclarative/qdeclarativeitem.h:46:#include <QtDeclarative/qdeclarativeparserstatus.h> There's the problem, the Qt 4.8.3 header does not include this one. I tried with 2.8.10.1 again, and got the same error.
Git commit f8701371ceb2773ef9d76846532ddf8bef92771c by Harald Sitter. Committed on 08/11/2012 at 13:37. Pushed by sitter into branch 'master'. fix declarative stuff with qt 4.8.3 apparently it is now acceptable to move include statements around M +1 -0 declarative/mediaelement.h M +1 -0 declarative/videooutputelement.h http://commits.kde.org/phonon/f8701371ceb2773ef9d76846532ddf8bef92771c
Unfortunately, this does not fix it :/ Going back to cmake 2.8.9 it works.
Oo please check that the interface is declared in QtDeclarative/qdeclarativeparserstatus.h and if so I am reasonable confident that cmake has a bug
Yes, it's there. I am going to report it to cmake developers.
http://www.cmake.org/Bug/view.php?id=13667