ohmms core libraries and applications can be configured by
autoconf/automake
cmake
perl script
For typical ohmms applications without GUI supports on generic unix/linux machines, configuring with autoconf/automake is the best choice and is recommended. On some High-performance computers (so called, Super Computers), autoconf/automake often fails to work properly. Things will improve over the time but JK found that cmake or the perl script she wrote sometimes works better and easier to change for the local environments. Especially, if OpenGL/Qt should be used, using cmake is recommended and most likely that only cmake will work.
From this point, we assume that you are in the top-directory of ohmms and working in a unix environment which includes Mac OS X and windows/cygwin.
Like many open-source libraries, start with ./configure -h to find out what options are available and how to configure ohmms. We recommend out-of-source compilation to separate codes from object files and executables for the developers as described below.
Procedure 2.1. out-of-source compilation in a build directory
mkdir build
create a directory to build the libraries and applications.
cd build
move to build directory.
../configure --prefix=path-of-build [options]
configure with options. prefix is set to install binaries and libraries in the build directory. Default value of prefix is /usr/local as usual.
make
build libraries and executables
make install
install libraries and executables in
cmake (Cross-platform Make) is an open-source make system to control the software compilation process using simple platform and compiler independent configuration files. For large-scale projects that have to be ported on many platforms, like ohmms, using cmake is highly recommended. The only drawback is that cmake has to be installed but it is very easy to do and does not require root permission. The current versions of cmake is not well suited for fortran codes but there are several ways to make cmake work for them as implemented in ohmms.
The perl script configure.pl is kept for historical reasons and is available only by cvs. Often, configure.pl does not reflect the revisions of the codes and should be used only for quick tests and for the platforms where automake/autoconf or cmake fail to work.