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: David Chisnall
Subject: Re: Heads up: CMake build system for libobjc
Date: Thu, 13 Dec 2012 14:40:54 +0000

On 13 Dec 2012, at 14:22, Ivan Vučica wrote:

> If my vote counts (and it doesn't have to, and this isn't a democracy, et 
> cetera, et cetera), I'd say "Makefiles are still the most portable thing 
> around". At least a basic Makefile that doesn't require cmake would be 
> awesome. 

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).

While I am a huge fan of both minimal dependencies and portable build systems, 
these are at odds.  The POSIX standard for make doesn't provide enough 
functionality.  The entire reason that CMake exists is that Makefiles are not 
easy to do in a portable way.

David

-- Sent from my Apple II




reply via email to

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