[Qt5-feedback] Build system requirements for Qt5
Oswald Buddenhagen
oswald.buddenhagen at nokia.com
Thu Jun 9 12:57:17 CEST 2011
On 06/09/11 09:36, ext Alexander Neundorf wrote:
> There is absolutely nothing wrong if you write a replacement for make, a
> generator for that can be added to cmake.
>
/me shakes head in resignation
> This is not possible with the cmake features as they are currently available
> with the current language.
>
q.e.d.
> Just what I know: Bill seems to be open to add a second, declarative input
> format to cmake.
>
yes, i've been tracking that discussion, both the public one and the
direct communication we had with kitware.
it seems desperate to see you giving in, because the reservations
against changing the language (or even adding a second one, which seems
even worse in some regards) are still valid. cmake's biggest strength is
the surrounding community and the plethora of library code for it. by
changing the language (or adding a new one) you will fragment and
confuse the community, while still constraining yourself to the inherent
limitations of the tool's architecture.
> cmake was declarative when it was started, but became more and more
> imperative.
>
like qmake and about every other build tool that evolved from a
particular project's build system.
> E.g. when you say it should be declaration oder independent:
> add_subdirectory() was added because the order-independent subdirs() was not
> good enough for KDE.
>
an ugly workaround for the failure to add a facility to adequately
represent build order requirements in a declarative way.
> CMake can easily put all existing targets into the project file for the IDE,
> the IDE doesn't have to guess them.
>
and how is the IDE supposed to understand the relationships between them?
the target we are looking for right now is compile-foo.cpp. but i can
list arbitrary other requirements. there is no way around the IDE
understanding the entire project structure, and doing that quickly
(i.e., without calling some external tool all the time and having it
generate some intermediate representation).
honestly, i don't think this discussion will lead anywhere, so let's
just stop it now.
we are holding a build system workshop at the contributor summit, to
share and discuss our research and plans in more detail with interested
parties.
More information about the Qt5-feedback
mailing list