Skip to main content

Easifem Base

note

Before installing the easifemBase library please make sure that you have installed

Building from source​

You can install easifemBase by using the command line application.

easifem install base

Using CMake​

EASIFEM uses CMake build system. To manually install easifem from the source we need to perform following tasks.

  1. Download the source code from git repository.
  2. Configuration the project by using CMake.
  3. Build by using CMake.
  4. Install by using CMake.
Step 1:

Download the source code from git repository by using one of the methods:

git clone https://github.com/vickysharma0812/easifem-base.git base
Step 2:

After downloading the source code, enter the source directory πŸ“, and make a build directory.

cd base
mkdir ./build

To configure the easifemBase library you can define following variables:

VariableTypeOptionsDefault
USE_OpenMPBOOLON, OFFON
CMAKE_BUILD_TYPESTRINGRelease, DebugRelease
BUILD_SHARED_LIBSBOOLON, OFFON
USE_PLPLOTBOOLON, OFFON
CMAKE_INSTALL_PREFIXPATHPlease specify$EASIFEM_BASE
USE_BLAS95BOOLON, OFFON
USE_LAPACK95BOOLON, OFFON
USE_FFTWBOOLON, OFFON
USE_GTKBOOLON, OFFOFF
USE_ARPACKBOOLON, OFFON
USE_SUPERLUBOOLON, OFFON
USE_LISBOOLON, OFFON
USE_PARPACKBOOLON, OFFOFF
USE_METISBOOLON, OFF*OFF
USE_Int32BOOLON, OFFON
USE_Real64BOOLON, OFFON
Click here to know about the configuration options πŸ“š

An example of configuration step is given below:

export EASIFEM_BASE=${HOME}/.local/easifem/base
cmake -G "Ninja" -S ./ -B ./build \
-D USE_OpenMP:BOOL=ON \
-D CMAKE_BUILD_TYPE:STRING=Release \
-D BUILD_SHARED_LIBS:BOOL=ON \
-D USE_PLPLOT:BOOL=ON \
-D CMAKE_INSTALL_PREFIX:PATH=${EASIFEM_BASE} \
-D USE_BLAS95:BOOL=ON \
-D USE_LAPACK95:BOOL=ON \
-D USE_FFTW:BOOL=ON \
-D USE_GTK:BOOL=OFF \
-D USE_ARPACK:BOOL=ON \
-D USE_PARPACK:BOOL=OFF \
-D USE_LIS:BOOL=ON \
-D USE_METIS:BOOL=OFF \
-D USE_Int32:BOOL=ON \
-D USE_Real64:BOOL=ON
Step 3 & 4:

After configuration, you can build and install the library by using:

cmake --build ./build --target --install