Compiling basic version of INMOST on Linux
We advise to define the folder where you want to place INMOST and other optional libraries:
export INMOST_ROOT="/home/user/inmost-root"
If it doesn't already exist, create this directory:
mkdir -p "$INMOST_ROOT"
Download and unpack INMOST archive:
cd "$INMOST_ROOT"
wget "https://github.com/INMOST-DEV/INMOST/archive/v0.1.tar.gz"
tar zxf v0.1.tar.gz
alternatively you can git clone
INMOST repository. Make sure you installed git
.
cd "$INMOST_ROOT"
git clone https://github.com/INMOST-DEV/INMOST.git INMOST-0.1
We will create separate directory for INMOST compilation, and configure INMOST with minimal features enabled:
cd "$INMOST_ROOT"
mkdir -p INMOST-build
cd INMOST-build
cmake -DUSE_AUTODIFF=OFF -DUSE_MPI=OFF ../INMOST-0.1
make all
After successful compilation the INMOST library will be created in the current directory.
You can switch between Debug
and Release
build types using CMake option CMAKE_BUILD_TYPE
:
cmake -DCMAKE_BUILD_TYPE=Release ../INMOST-0.1
make all
Optionally we can compile included examples (COMPILE_EXAMPLES=ON
) and tests (COMPILE_TESTS=ON
):
cmake -DCOMPILE_EXAMPLES=ON -DCOMPILE_TESTS=ON ../INMOST-0.1
make all
make test
Adding MPI support
MPI support is already enabled by default and CMake will auto-detect your MPI installation. Enable USE_MPI
option if you previously disabled it.
cmake -DUSE_MPI=ON ../INMOST-0.1
make all
If you need to provide specific paths to MPI wrappers, you can do this using MPI_<lang>_COMPILER
options, e.g.:
cmake -DUSE_MPI=ON -DMPI_C_COMPILER=/usr/local/bin/mpicc -DMPI_CXX_COMPILER=/usr/local/bin/mpicxx ../INMOST-0.1/
make all
If your MPI implementation does not support MPI-IO, you should explicitly disable USE_MPI_FILE
option:
cmake -DUSE_MPI=ON -DUSE_MPI_FILE=OFF ../INMOST-0.1
make all
Changing default compilers
If you want to use different compilers, you should provide them using CMake parameters CMAKE_C_COMPILER
and CMAKE_CXX_COMPILER
:
cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc ../INMOST-0.1/
make all