Building and Using Alien

Building Alien

Alien’s build system is based on CMake.

Getting the sources

One can use Alien’s github repository https://github.com/arcaneframework/alien to either get an archive of a released version https://github.com/arcaneframework/alien/releases or to clone the repository.

Configuring

When using a released version, Arccon and Arccore must be installed before being able to compile Alien. Their install paths can be passed to cmake using CMAKE_PREFIX_PATH.

Optional dependencies are:
  • HDF5, enabled by setting ALIEN_USE_HDF5 to ON

  • libxml2, enabled by setting ALIEN_USE_xml2 to ON

  • GoogleTest, enabled by setting ALIEN_UNIT_TESTS to ON

ALIEN_DEFAULT_OPTIONS allows to try detecting installed dependencies and automatically enable them.

Backend librairies are:
  • hypre, enabled by setting ALIEN_PLUGIN_HYPRE to ON

  • PETSc, enabled by setting ALIEN_PLUGIN_PETSC to ON

Example

Configuring, compiling Alien, using hypre and petsc.

cmake -DALIEN_DEFAULT_OPTIONS:BOOL=ON -DALIEN_PLUGIN_HYPRE:BOOL=ON -DALIEN_PLUGIN_PETSC:BOOL=ON -B <build_dir> <alien_src_path>
cmake --build <build_dir>
cmake --install <build_dir>

Using Alien from a CMake project

Example using hypre and move semantic:

find_package(Alien REQUIRED)

add_library(foo <your_src>)
target_link_libraries(foo PRIVATE Alien::hypre_wrapper Alien::semantic_move)