From: Leclerc on

I recomend CMake:

In the company I work for, we use Cmake to manage compilation process of
quite large SW system on linux, Solaris (sparc and X86), and Win32.

Sources are somposed of Fortran sources, C++ sources, couple of XSD
schemas (compiled into c++ using xsd), and CORBA IDL files (compiled
using OmniORB).

Needles to say, we had very little problems with managing this, using CMake.

cheers,
Gordan
From: andy2O on
On Mar 10, 4:06 pm, Eli Osherovich <eli.osherov...(a)gmail.com> wrote:
> I am playing with Fortran which is new for me.
> Slowly, my collection of files becomes large enough to abandon manual
> (re) compilation each time I change a bit here and there. This is the
> time chose a build system to work with. I could go with makefile,
> however, rumors say there are much better alternatives these days.
> Most mention SCons and CMake. Which one would be the best choice for
> Fortran?
>
> Thank you.

I've used "MakeMake" to make a Makefile for some medium sized Fortran
(77 & 90) projects with good success. It generates a Makefile from a
directory of source files which you use in the normal way. It coped
with the admittedly basic dependencies in my code without problem, and
was fantastically easy to use (basically just one line at the command
prompt). I think it's the version available at

http://www.fortran.com/makemake.perl

but there's some evidence on Google of other sources and I can't
remember where I got it from - I'll check tomorrow. So, I'm sure it's
not the most advanced system, but if it works and is as easy as it was
for me I think you'll be happy.

Regards,
andy
From: Arjen Markus on
On 10 mrt, 22:47, Leclerc <gordan.sikic.rem...(a)this.inet.hr> wrote:
> I recomend CMake:
>
> In the company I work for, we use Cmake to manage compilation process of
> quite large SW system on linux, Solaris (sparc and X86), and Win32.
>
> Sources are somposed of Fortran sources, C++ sources, couple of XSD
> schemas (compiled into c++ using xsd), and CORBA IDL files (compiled
> using OmniORB).
>
> Needles to say, we had very little problems with managing this, using CMake.
>
> cheers,
> Gordan

In the PLplot project (http://plplot.sf.net) we switched from autoconf
to CMake
a couple of years ago and that has been a very good decision. The
PLplot project
supports a multitude of programming languages and platforms, and
relies
on quite a few external libraries. CMake has made life a lot easier to
manage
all this complexity.

That is not to say that it is ideal: it has its flaws and you need to
jump through
hoops sometimes, but it does the job.

Minf you: it is a way to _generate_ Makefiles or project files or
solutions or
whatever the compiler tools want to call them. The advantage is that
you can
specify in detail what libraries to pull in, how to find them on the
target
system etc, but you can also rely on the defaults it provides.

Regards,

Arjen
From: Eli Osherovich on
Thanks to everyone who sent a suggestion.

Meanwhile, I tried TCBuild and SCons.

This is VERY preliminary results as I had no time to learn the tools.

First, writing TCBuild file is about as lengthy as writing a makefile.
The second drawback of the tool that it tries to recompile EVERY
fortran and C file in your directory. This approach is probably good
for a project that must be built and shipped. However, in my situation
most of the files don't even compile. I would be much happier if it
were rebuilding only what is needed for the executable you specifies
in the build file.

SCons ignored completely dependencies, i.e., if you USEd a modmod
module in your source it did not try to compile the file with MODMOD
module. However, this is probably doable, since there is a parser that
detects USE and INCLUDE statements, but I have to find out how to make
it working.

I will try CMake and MakeMake later.

Thanks again.

From: Bob Beaty on
I've been using Makefiles and GNU Make for a lot of years. It's not the
easiest system, it's not the most feature-rich, but I'll tell you this
- it'll run on almost any platform there is. For that reason, I think
it's a good choice.

Do you really want your build system to be something you need to think
about? I just want it to be a toaster - put in the bread, get the
toast. Just work.
--

Thanks,
Bob