[Qt5-feedback] Build system requirements for Qt5

Doug Schaefer cdtdoug at gmail.com
Thu Jun 9 10:22:40 CEST 2011


On Thu, Jun 9, 2011 at 3:04 AM, Alexander Neundorf <neundorf at kde.org> wrote:
> 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.

We should probably take this to another list. But I don't think CMake
should be generating the .project and .cproject. CDT should be calling
CMake to generate makefiles as part of it's build process. All I need
then is a way to get at the includes and defines into the scanner
discovery mechanism. I assume Qt Creator would have similar
requirements.

Doug.


More information about the Qt5-feedback mailing list