[Qt5-feedback] Build system requirements for Qt5
Alexander Neundorf
neundorf at kde.org
Thu Jun 9 09:04:18 CEST 2011
On Wednesday 08 June 2011, Doug Schaefer wrote:
> On Wed, Jun 8, 2011 at 2:41 PM, Alexander Neundorf <neundorf at kde.org> wrote:
> > On Tuesday 07 June 2011, Thiago Macieira wrote:
> >> On Tuesday, 7 de June de 2011 08:16:03 Bill Hoffman wrote:
> >> > Agreed, it was a bit insane. It would be really helpful if you could
> >> > post some pseudo code that showed the use case of win32 sources and
> >> > some sources that depend on some system introspection value. What
> >> > does that input look like, and how does it work?
> >>
> >> I don't know. What I'm asking is: you guys who have more experience with
> >> build systems, can you figure out something that is both IDE-friendly
> >> and human- friendly?
> >>
> >> The IDE needs to be able to get the file listing from any project, it
> >> needs to build any project, it needs to get the compiler options
> >> (especially the preprocessor options, -I and -D) for every single file
> >> file,
> >
> > All this is trivial to do with cmake.
> >
> > E.g. for the Eclipse CDT generator, it generates rules to build every
> > single C file, to preprocess it only, to compile it to assembler, and it
> > also puts the information about include dirs and definitions in the
> > project file, so Eclipse can do correct highlighting.
>
> Are there ways to get the include dirs and defs in other generators,
> for example if we're using the makefile generators?
Not sure I understand the question correctly.
For Eclipse, cmake generates Makefiles + the .project and .cproject files,
which contain that information.
Is this what you wanted to know ?
Alex
P.S. there is one major problem we (cmake) have with Eclipse+CDT: cmake
strongly recommends to use out-of-source builds, and it has the hard rule that
when generating the build files it must not write or change anything in the
source directory. So the .project and .cproject files are created in the build
dir. But Eclipse expects that the project file is located at the root of the
source tree, e.g. the svn support does not work in linked folders.
It would be nice if the project file could simply have a tag <sourcedir> or
<projectrootdir>, whose content, if present, would be used instead the
location of the project file.
Then, when opening such a project in Eclipse CDT, it would show the contents
of the source dir (instead of the build dir, as it is now), and svn etc. would
probably just work.
More information about the Qt5-feedback
mailing list