Skip to content

Latest commit

 

History

History
119 lines (78 loc) · 2.83 KB

installation.rst

File metadata and controls

119 lines (78 loc) · 2.83 KB

Installation

.rst-content .section>img { width: 30px; margin-bottom: 0; margin-top: 0; margin-right: 15px; margin-left: 15px; float: left; }

Although xtensor is a header-only library, we provide standardized means to install it, with package managers or with cmake.

Besides the xtensor headers, all these methods place the cmake project configuration file in the right location so that third-party projects can use cmake's find_package to locate xtensor headers.

Using the conda-forge package

A package for xtensor is available on the mamba (or conda) package manager.

mamba install -c conda-forge xtensor

Using the Debian package

A package for xtensor is available on Debian.

sudo apt-get install xtensor-dev

Using the Spack package

A package for xtensor is available on the Spack package manager.

spack install xtensor
spack load --dependencies xtensor

From source with cmake

You can also install xtensor from source with cmake. This requires that you have the xtl library installed on your system. On Unix platforms, from the source directory:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=path_to_prefix ..
make install

On Windows platforms, from the source directory:

mkdir build
cd build
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=path_to_prefix ..
nmake
nmake install

path_to_prefix is the absolute path to the folder where cmake searches for dependencies and installs libraries. xtensor installation from cmake assumes this folder contains include and lib subfolders.

See the :doc:`build-options` section for more details about cmake options.

Although not officially supported, xtensor can be installed with MinGW:

mkdir build
cd build
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=path_to_prefix ..
mingw32-make
mingw32-make install

Including xtensor in your project

The different packages of xtensor are built with cmake, so whatever the installation mode you choose, you can add xtensor to your project using cmake:

find_package(xtensor REQUIRED)
target_include_directories(your_target PUBLIC ${xtensor_INCLUDE_DIRS})
target_link_libraries(your_target PUBLIC xtensor)