please make it easier to hack on frameworks
David Faure
faure at kde.org
Tue May 14 16:22:38 UTC 2013
On Tuesday 14 May 2013 17:55:42 Alexander Neundorf wrote:
> Do you say I should adjust my expectations so that I consider build
> failures ok even if cmake succeeds ? Then this means I should not consider
> a successful cmake run as a reliable signal that my system is ready to
> build the software ?
This is a never attainable goal: if I remove $QTDIR/include/qlabel.h by hand,
I'll get a compilation failure even though cmake will succeed. Does this mean
cmake should check that *all* Qt headers are available, one by one? It never
did that, and I don't think this is what you have in mind.
So you two will only ever agree, if you forget about the extremes :)
Both extremes are unacceptable (cmake failing to detect even very basic issues
like Qt 5 being 5.0 instead of 5.2 -- and the other extreme, cmake should
check all Qt headers one by one). So this is about defining what belongs to
the configure step of cmake, i.e. where to draw the line.
* Detecting that Qt is recent enough -- I would say yes, cmake should do that.
* Detecting completely missing Qt submodules -- I would say yes, cmake should
do that. But this particular point is what this discussion is about, so let's
focus on that, see below.
* Detecting other weird results of a broken Qt build, such as individual
missing libs or headers, or broken export macros, or whatever else could go
wrong due to bugs in Qt or in qmake -- I would say no, cmake should not do
that.
The reason I agree that cmake should detect missing Qt submodules, is that
even though the current instructions say "compile all of qt5.git", the whole
point of qt5 is to be modular, and a future kde hacker getting his qt5 from
his distro could be missing a development package for a specific module.
So, if code uses qtx11extras, cmake should warn if qtx11extras is not found.
Same for all other submodules.
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5
More information about the Kde-frameworks-devel
mailing list