[Qt5-feedback] Build system requirements for Qt5

Bill Hoffman bill.hoffman at kitware.com
Tue Jun 7 03:09:46 CEST 2011


On 6/6/2011 7:12 PM, Thiago Macieira wrote:
> Em Tuesday, 7 de June de 2011, às 00:52:16, Alexander Neundorf escreveu:
>> 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)
>>
>> So, I'm curious how you plan to solve this.
>
> You're trying to solve the problem of having a GUI for writing every aspect of
> the build system. That's not what we want.
>
So exactly what parts of the build system will the GUI be able to write?
> What we want from the above is the full listing of source files (to present in
> the project listing).
>

OK, so all you need is a full list of the source files?  To do that you 
could have something like this:


----target.cmake.sources------
# some sort of declarative list of files
# could be in cmake, could be in json
set(sources foo.c, bar.c, blub.c win.c mount.c x1.c x2.c)

Then, you would have some other cmake file that used that list and took 
out the files that were not used on the current system.

if(NOT WIN32)
   remove_sources(sources win.c)

Is that what you had in mind?

Would the target.cmake.sources have the properties on the source files 
so that the GUI could be used to see those properties?

It would be very helpful if there were some examples and use cases of 
what was expected of this build system.  Certainly, before any new 
system gets started,  it would be nice to spec out the functionality and 
give the CMake folks a chance to accommodate the requirements.

-Bill




More information about the Qt5-feedback mailing list