The following minimal set of software must be present to build Geant4:
Geant4 Toolkit Source Code.
CMake 2.6.4 or higher.
If you intend to use the Clang compiler, then you must use CMake 2.8.2 or higher in order to correctly identify this compiler.
We recommend version 2.8.X as this includes many extra useful features, but it is not required apart from the proviso on Clang usage above.
C++ Compiler:
Linux: GNU Compiler Collection.
Mac OS X: Clang (Xcode 4).
In Xcode 4, you will also need to install the command line tools (via Xcode->Preferences->Downloads ).
In Xcode 5, you may need to run xcode-select --install
from the command line if the above method does not work.
Windows: Visual Studio 2011, either Express or Higher Editions.
Linux/Mac only: Make
On Linux, we recommend that you use CMake as provided through the package management system of your distribution, unless this does not meet the minimum version requirement of CMake 2.6.4. In that case, we recommend you install it using the Linux binary installer for the latest version of CMake, available with instructions from the Kitware download site. This installer is highly portable and should work on the vast majority of distributions.
On Mac and Windows, CMake is not installed by default, so we recommend that you install it using the most recent Darwin64 dmg (Mac) or Win32 exe (Windows) installers supplied by the Kitware download site.
On Linux, it is strongly recommended to use the g++ compiler supplied by the package management system of your distribution (Linux). On OS X, you must use the clang compiler as supplied with Xcode (Mac).
Geant4 distributes a minimal version of the CLHEP library sources with the toolkit to help cross-platform usage. This internal version of the CLHEP library is built and used by default, so having an external install of CLHEP is no longer a prerequisite for Geant4.
However, Geant4 can still be configured to use an existing install of CLHEP if required by your use case. This configuration is done by passing extra options to CMake, and if your require this feature you should consult Section 2.3.