... | @@ -14,13 +14,13 @@ mkdir -p "$INMOST_ROOT" |
... | @@ -14,13 +14,13 @@ mkdir -p "$INMOST_ROOT" |
|
Download and unpack INMOST archive:
|
|
Download and unpack INMOST archive:
|
|
```
|
|
```
|
|
cd "$INMOST_ROOT"
|
|
cd "$INMOST_ROOT"
|
|
wget "https://github.com/INMOST-DEV/INMOST/archive/master.tar.gz"
|
|
wget "https://github.com/INMOST-DEV/INMOST/archive/v0.1.tar.gz"
|
|
tar zxf master.tar.gz
|
|
tar zxf v0.1.tar.gz
|
|
```
|
|
```
|
|
alternatively you can `git clone` INMOST repository. Make sure you installed `git`.
|
|
alternatively you can `git clone` INMOST repository. Make sure you installed `git`.
|
|
```
|
|
```
|
|
cd "$INMOST_ROOT"
|
|
cd "$INMOST_ROOT"
|
|
git clone https://github.com/INMOST-DEV/INMOST.git INMOST-master
|
|
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:
|
|
We will create separate directory for INMOST compilation, and configure INMOST with minimal features enabled:
|
... | @@ -28,20 +28,20 @@ We will create separate directory for INMOST compilation, and configure INMOST w |
... | @@ -28,20 +28,20 @@ We will create separate directory for INMOST compilation, and configure INMOST w |
|
cd "$INMOST_ROOT"
|
|
cd "$INMOST_ROOT"
|
|
mkdir -p INMOST-build
|
|
mkdir -p INMOST-build
|
|
cd INMOST-build
|
|
cd INMOST-build
|
|
cmake -DUSE_AUTODIFF=OFF -DUSE_MPI=OFF ../INMOST-master
|
|
cmake -DUSE_AUTODIFF=OFF -DUSE_MPI=OFF ../INMOST-0.1
|
|
make all
|
|
make all
|
|
```
|
|
```
|
|
After successful compilation the INMOST library will be created in the current directory.
|
|
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`:
|
|
You can switch between `Debug` and `Release` build types using CMake option `CMAKE_BUILD_TYPE`:
|
|
```
|
|
```
|
|
cmake -DCMAKE_BUILD_TYPE=Release ../INMOST-master
|
|
cmake -DCMAKE_BUILD_TYPE=Release ../INMOST-0.1
|
|
make all
|
|
make all
|
|
```
|
|
```
|
|
|
|
|
|
Optionally we can compile included examples (`COMPILE_EXAMPLES=ON`) and tests (`COMPILE_TESTS=ON`):
|
|
Optionally we can compile included examples (`COMPILE_EXAMPLES=ON`) and tests (`COMPILE_TESTS=ON`):
|
|
```
|
|
```
|
|
cmake -DCOMPILE_EXAMPLES=ON -DCOMPILE_TESTS=ON ../INMOST-master
|
|
cmake -DCOMPILE_EXAMPLES=ON -DCOMPILE_TESTS=ON ../INMOST-0.1
|
|
make all
|
|
make all
|
|
make test
|
|
make test
|
|
```
|
|
```
|
... | @@ -49,24 +49,24 @@ make test |
... | @@ -49,24 +49,24 @@ make test |
|
## Adding MPI support
|
|
## 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.
|
|
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-master
|
|
cmake -DUSE_MPI=ON ../INMOST-0.1
|
|
make all
|
|
make all
|
|
```
|
|
```
|
|
If you need to provide specific paths to MPI wrappers, you can do this using `MPI_<lang>_COMPILER` options, e.g.:
|
|
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-master/
|
|
cmake -DUSE_MPI=ON -DMPI_C_COMPILER=/usr/local/bin/mpicc -DMPI_CXX_COMPILER=/usr/local/bin/mpicxx ../INMOST-0.1/
|
|
make all
|
|
make all
|
|
```
|
|
```
|
|
|
|
|
|
If your MPI implementation does not support MPI-IO, you should explicitly disable `USE_MPI_FILE` option:
|
|
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-master
|
|
cmake -DUSE_MPI=ON -DUSE_MPI_FILE=OFF ../INMOST-0.1
|
|
make all
|
|
make all
|
|
```
|
|
```
|
|
|
|
|
|
## Changing default compilers
|
|
## Changing default compilers
|
|
If you want to use different compilers, you should provide them using CMake parameters `CMAKE_C_COMPILER` and `CMAKE_CXX_COMPILER`:
|
|
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-master/
|
|
cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc ../INMOST-0.1/
|
|
make all
|
|
make all
|
|
``` |
|
``` |