please make it easier to hack on frameworks
Alexander Neundorf
neundorf at kde.org
Mon May 13 19:43:56 UTC 2013
On Sunday 12 May 2013, David Faure wrote:
> On Sunday 12 May 2013 17:34:12 Alexander Neundorf wrote:
> > On Sunday 12 May 2013, David Faure wrote:
> > > On Sunday 12 May 2013 11:50:44 Alexander Neundorf wrote:
> > > > : fatal error:
> > > > QX11Info: No such file or directory
> > >
> > > You didn't compile the Qt module qx11extras?
> > >
> > > It's part of qt5.git branch dev, which is what the wiki recommends
> > > using.
> >
> > I think I did:
> >
> > ~/src/qt5$ git branch
> > * dev
> > ~/src/qt5$
>
> So, do you have a qtx11extras submodule? Did it get compiled?
it hasn't been rebuilt.
I just followed the instructions in the wiki, hoping they would work
(http://community.kde.org/Frameworks/Building).
Actually not much has been built (...that's why it was finished so quick):
~/src/qt5/build$ ls -1
Makefile
qtbase/
qtjsbackend/
qtscript/
qtsvg/
qtxmlpatterns/
I did:
$ git pull
$ git submodule update
$ rm -rf builddir (as recommended by Ossi)
$ mkdir build
$ cd build
$ ../configure -prefix $KF5 -opensource... <as given in the wiki>
$ make
$ make install
So not everything which I hoped would rebuild has been rebuilt.
So this is either a wiki or a Qt buildsystem bug.
Additionally we don't check in cmake that the Qt which has been found is good
enough.
We make use of the new INTERFACE_INCLUDE_DIRECTORIES target property, but have
no checks that the Qt which has been found provides those already.
The obvious way would be by requiring some specific minimum version number of
Qt.
Stephen, is this possible ?
Other options are
1) to check in the CMakeLists.txt that the imported targets have these
properties set (ugly, lot of code)
2) to check in FindQt5Transitional.cmake that these properties have been set
(this is not used everywhere)
3) to add wrapper Find-modules which load the Config.cmake files and check for
the property (also ugly)
4) add a cmake variable like Qt5Core_INCLUDE_DIR_TARGET_PROPERTY_AVAILABLE to
the installed Config.cmake file, and test this in the CMakeLists.txt
(basically the same as 1), but less code needed in the CMakeLists.txt:
if(NOT Qt5Core_INCLUDE_DIR_TARGET_PROPERTY_AVAILABLE)
message(FATAL_ERROR "Qt is too old")
endif()
Stephen, what is your plan regarding this ?
Alex
More information about the Kde-frameworks-devel
mailing list