Take a look at CPMake. (www.cpmake.org) I wrote it to do exactly what you are asking for. The site is a bit old. I've added a slick way to abstract the compilers for each platform you compile on that is not in the documentation.

A quick overview: CPMake is written in java and runs on JRE 1.4 or later. Java creates a great abstraction that makes compiling, copying files and running unit tests a snap. I've written build scripts for Java, C#, C++ and just about anything else that has dependencies for Linux, Mac, Windows.

If you have any questions I'll be glad to help.  Just email me off the list.

Brian

Dave Smith wrote:
Bryan Petty wrote:
On 1/5/07, Dave Smith <[EMAIL PROTECTED]> wrote:
I just noticed that KDE uses CMake to do builds. At my company we've
been looking for a decent alternative to make. Would anyone with
experience with CMake care to comment on its quality?

Depends on if you care about cross-platform development or not.

CMake and Scons are both radically different approaches to
cross-platform build systems, and there's also the Bakefile [1] route
that the wxWidgets project uses to generate makefile, Visual Studio
project files, Borland, and other IDE project files so all target
platforms have a single build configuration file with all options. I
hear CMake can work close to the same, though I've never used it.

If you aren't working in a cross-platform environment, I don't really
think CMake is necessary, I'd look closer into using Scons as I think
it would provide a much easier to use build system for single platform
use.

We do lots of cross-platform and cross-compiled builds. We like to have one source code checkout were we can build on Solaris, Linux, Windows, and cross-compile on Linux/x86 for Linux/PowerPC and Linux/MIPS. We've cooked up lots of make-based hacks to accommodate us, but it's just no fun that way. I really like Qt's approach with a .pro file that qmake uses to generate a Makefile (or equivalent on other platforms), and I've even done a bit of cross-compiling that way too, but I don't think Qt is the right answer for all projects.

--Dave

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to