Showing posts with label ROOT. Show all posts
Showing posts with label ROOT. Show all posts

November 16, 2010

ROOT's make to list all targets

Apparently there is one more remarkable commit (revision: 36664) to ROOT I want to mention today, since I was waiting for it.
The r36664 is actually implements a possibility to list targets via the make command (the feature, which cmake user can enjoy since long time already).
Now, ROOT users could issue the following command to find out all available targets of their ROOT source tree:
make help
Try it with your ROOT source tree. Very nice, isn't it?

I think it's a very user-friendly improvement in ROOT's build system.

ROOT supports out-of-source builds

Yesterday Fons has committed a very handy feature to ROOT, see revision #36659
Now ROOT supports out-of-source builds. 

What is an "out-of-source" build?
When you build a ROOT source, the build process generates files and they have to go somewhere. In in-source builds they were in your ROOT's source tree. The ROOT out-of-source build puts them in a completely separate directory, so that your source tree is unchanged.

I personally prefer only out-of-source builds. Even in PoD User's Manual I recommend this as a default installation procedure. This way builds are more elegant and clean. I can produce several different configurations in different build directories for a single source tree.

So, now ROOT also supports it and it is great offer to users! That was also not easy to implement in ROOT, see the number of changed files in the revision. Great job ROOT Team!

Author: rdm
Date: Mon Nov 15 11:07:02 2010
New Revision: 36659

URL: http://root.cern.ch/viewvc?rev=36659&root=root&view=rev
Log:
add support for out-of-source building of binaries. Normal build is unaffected.
To make an out of source build do, assuming the source is in ~/root:
  mkdir ~/root-x8664
  cd ~/root-x8664
  ~/root/configure
  make
This is convenient to build e.g. 32 and 64-bit version from one source, but
also needed for cross-compilation, where it is now possible to build in
a special directory only the compile time tools, like rootcint for the
host architecture while the binary is build for the remote architecture
(like iOS).