On Saturday, June 04, 2011 06:12:57 PM Bill Hoffman wrote:
> On 6/4/2011 4:37 AM, Thiago Macieira wrote:
> > Em Friday, 3 de June de 2011, às 13:59:20, Charley Bay escreveu:
> >> Marcus spaketh:
> >>> I have been considering this for quite some time, and we have been
> >>> talking about this at Kitware. There is discussion of replacing Qt's
> >>> build system, possibly writing a new one or modifying an existing one.
> >>> What I would really like to know is what you want the declarative
> >>> language to look like. Is the general consensus a JSON structure?
> >>> Would looping and conditional constructs from JavaScript be used, or
> >>> purely the data container format?
> >
> > The most important thing is that it be a declarative language, not
> > imperative. It needs to be something that the IDE can fully parse
> > without ambiguity and without hacks as "evaluate all branches of if-else
> > to true".
> >
> > It should be clear which parts are related to the configuration-detection
> > part of the cycle and which ones list the build instructions. Like
> > autoconf and automake do: autoconf is imperative, automake is
> > declarative.
>
> I would like to dig into the specifics a bit on the declarative vs
> imperative and what it would actually look like.
>
> How would you handle the imperative system introspection's interaction
> with the declarative part. Perhaps if you could give a simple example
> of how one would handle an optionally compiled file in a library.
>
> How would something like this be expressed:
>
> if(HAS_FEATURE_A)
> add_source_to_library(foo foo.c)
Or to make it a bit more complex:
srcs = foo.c, bar.c, blub.c
if(Windows)
srcs += win.c
if (HAVE_MOUNT_H)
srcs += mount.c
if(BSD || HAVE_WHATEVER)
if (SOME_VERSION < 1.0)
srcs += x1.c
else
srcs += x2.c
add_executable(hello $srcs)
I think an IDE cannot decide automatically where to add a file here.
Also I cannot imagine how to present those different places in a GUI (...and
the GUI would still be somewhat easier to understand than just looking at the
cmake script).
So, I'm curious how you plan to solve this.
Alex
_______________________________________________
Qt5-feedback mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback