gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Heads up: CMake build system for libobjc


From: Riccardo Mottola
Subject: Re: Heads up: CMake build system for libobjc
Date: Thu, 13 Dec 2012 17:53:11 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0 SeaMonkey/2.14.1

Hi,

Richard Frith-Macdonald wrote:

Unfortunately, that isn't true.  One of the current build systems is a portable 
Makefile, however it restricts itself to the portable stuff in Make (and 
therefore works with BSD and GNU make, and at least used to work with Solaris 
Make, although I've not tested it for a while), and so can't use inclusions or 
conditionals.

Because it can't use conditionals, it can't optionally provide flags that are 
required on some platforms and not others.  It is also restricted to only being 
able to build the runtime in a single configuration.  It is also slow and takes 
about twice as long to compile as the Makefiles generated from CMake (for this 
project, ninja is about the same speed as make, because it doesn't have any 
recursive make invocations, but it does maintain a more accurate dependency 
graph, so I still prefer it).
gnu-make ... is more portable than cmake (and is installed as standard in many 
more places, and *all* GNUstep systems), and has none of the limitations listed 
for posix make ... so simply using gnu-make would be a good solution.

As far as performance is concerned ... of course cmake is bound to be slower 
than make (since cmake builds make files and then executes them, it can't 
possibly be as fast), but that's not relevant for a small project like libobjc2 
... almost any build system would be fast enough on any modern machine.
I don't hink that for libobjc2 performance is such an issue, it is more about options and configurability, integration with and without GNUstep, etc.

I'd prefer a gnu-make makefile, just because it is what is used for the rest of gnustep.

Riccardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]