Require cmake to compile qmcPlusPlus package.
Set environment variables for compilers and
external libraries. You may have to install the
libraries. They normally do not require root
permission. cmake will try to figure out where the
libraries are located but it is best if the users
set their environments.
Build-compilation will fail if required libraries
are not found. Recommended libraries are based on
their performance advantages. There are some "cmake
troubles" which are mainly due to the developers'
inexperience but the fixes are usually very simple.
Check here to find out if your problem
has been encountered.
-
unpack the tar-gziped file:
tar -zxvf
qmcPlusPlus-vx.y-YYYYMMDD.tgz
-
change to the top directory (name can be
different):
cd
qmcPlusPlus-vx.y-YYYYMMDD
-
Set compiler-related environment variables.
Without these environment settings, cmake
will use the default GNU compilers.
-
CXX
-
c++ compiler
-
CC
-
C compiler
-
External libraries: Required, Recommended
and optional
-
HDF5_HOME
-
Required Home
directory for hdf5 library.
$HDF5_HOME/include and $HDF5_HOME/lib
are added to the paths.
-
GSL_HOME
-
Required Home
directory for Gnu Scientific library.
$GSL_HOME/include and $GSL_HOME/lib are
added to the paths.
-
MKL_HOME
-
Recommended Home
directory for Intel MKL library. The
libraries are located at
$MKL_HOME/lib/32 or $MKL_HOME/lib/64
There is no constraint on which
lapack/blas can be used but on linux
platforms, MKL is recommended.
-
BOOST_HOME
-
Recommended Home
directory for boost library. When
BOOST_HOME is set, the random number
library uses boost::random. Download at
www.boost.org.
BOOST_HOME should be the top
directory of boost library when it
is unpacked. No need to compile
anything.
-
BLITZ_HOME
-
Optional Home
directory for blitz library. blitz WAS
required but is now optional. We are
moving to boost library.
-
SPRNG_HOME
-
Optional Home
directory for sprng
random-number-generator library. This
is only necessary if boost cannot be
used.
-
Find the line with COMPILER in CMakeLists.txt. Uncomment the
line for the compiler of your choice. The
lines starting with # are comments. The
default is GNU compiler as shown below.
#COMPILER choose one of the cmake files to customize the compiler options
#If nothing is chosen, default settings by cmake will be used.
#INCLUDE(${PROJECT_CMAKE}/Intel8.cmake)
#INCLUDE(${PROJECT_CMAKE}/Intel7.cmake)
INCLUDE(${PROJECT_CMAKE}/GNUCompilers.cmake)
#INCLUDE(${PROJECT_CMAKE}/IBMCompilers.cmake)
-
If everything goes well, then you should
see topdir/build/bin/qmcapp.
-
Create a directory to build the library
and binaries, e.g., build:
mkdir
build
-
Change to the build directory:
cd
build
-
run cmake to create Makefiles:
cmake
..
-
make everything:
make