Hi all,
I have recently started to program Java instead of
C++.
Then I found Ant. Ant is a make-like tool for building projects.
It
is focuesed on compiling Java, but maybe it could also be used
for C++, if
you could live with the burden of having a Java-environment
up and
running.
I find Ant really convenient to use (for Java
projects).
It is much easier than make.
I joined the Ant-mailing list quite a few
months ago.
I remember someone asking if Ant
was suitable for C++, but I
don't remember the answer.
Below is an except from the
documentation:
----------
Introduction
Ant is a Java based build tool.
In theory it is kind of like make
without make's wrinkles.
Why?
Why another build tool when there is
already make,
gnumake, nmake, jam, and others? Because all of those
tools have limitations that its original author couldn't
live with when
developing software across multiple platforms.
Make like tools are
inherently shell based. They evaluate a set
of dependencies and then execute
commands not unlike what you
would issue on a shell. This means that you can
easily extend
these tools by using or writing any program for the OS that
you are working on. However, this also means that you limit
yourself to
the OS, or at least the OS type such as Unix,
that you are working
on.
Makefiles are inherently evil as well.
...
Ant is different. Instead a model where it is
extended with shell
based commands, it is extended using Java classes.
Instead of writing
shell commands, the configuration files are XML based
calling out a
target tree where various tasks get executed. Each task is run
by an
object which implements a particular Task interface.
Granted, this removes some of the expressive power
that is inherent
by being able to construct a shell command such as
`find . -name foo -exec rm {}` but it gives you the ability to be
cross
platform. To work anywhere and everywhere. And hey, if you
really need to
execute a shell command, Ant has an exec rule that
allows different commands
to be executed based on the OS that it
is executing
on.
----------
If it isn't unbearable to program Java you
could maybe write some
new tasks to get a complete "make"-system for
C++.
Regards,
Peter