Skip to content

redcode/Zeta

Repository files navigation

Zeta

Installation

Debian, Ubuntu and other Debian-based Linux distributions

First, add the zxe repository and update the package index:

sudo mkdir -pm700 /root/.gnupg
sudo mkdir -pm755 /etc/apt/keyrings
sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/zxe-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys FE214A38D6A0C01D9AF514EE841EA3BD3A7E1487
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/zxe-archive-keyring.gpg] https://zxe.io/repos/apt stable main" | sudo tee /etc/apt/sources.list.d/zxe.list
sudo apt update

Then install the package:

sudo apt install libzeta-dev

Gentoo

First, add and sync the zxe overlay:

eselect repository add zxe git https://github.com/redcode/zxe-gentoo-overlay.git
emaint sync --repo zxe

Then install the library:

emerge dev-libs/zeta

Homebrew

brew install redcode/zxe/zeta

Installation from sources

You will need CMake v3.12 or later to install the package and, optionally, a recent version of Sphinx to compile the documentation. Also, make sure that you have LaTeX with PDF support installed on your system if you want to generate the documentation in PDF format.

Once the prerequisites are met, create a directory and run cmake from there to prepare the build system:

mkdir build
cd build
cmake [options] <Zeta-project-directory>

The resulting build files can be configured by passing options to cmake. To show a complete list of those available along with their current settings, type the following:

cmake -LAH -N -B .

If in doubt, read the CMake documentation for more information on configuration options. The following two standard CMake options are relevant:

  • -DCMAKE_BUILD_TYPE=(Debug|Release|RelWithDebInfo|MinSizeRel)
    Choose the type of build (configuration) to generate.
    The default is Release.

  • -DCMAKE_INSTALL_PREFIX="<path>"
    Specify the installation prefix.
    The default is "/usr/local" (on UNIX and UNIX-like operating systems).

Package-specific options are prefixed with Zeta_ and are as follows:

  • -DZeta_INSTALL_CMAKEDIR="<path>"
    Specify the directory in which to install the CMake config-file package.
    The default is "${CMAKE_INSTALL_DATAROOTDIR}/Zeta/cmake".

  • -DZeta_INSTALL_PKGCONFIGDIR="<path>"
    Specify the directory in which to install the pkg-config file.
    The default is "${CMAKE_INSTALL_LIBDIR}/pkgconfig".

  • -DZeta_SPHINX_HTML_THEME="[<name>]"
    Specify the Sphinx theme for the documentation in HTML format.
    The default is "" (use the default theme).

  • -DZeta_WITH_CMAKE_SUPPORT=(YES|NO)
    Generate and install the CMake config-file package.
    The default is NO.

  • -DZeta_WITH_HTML_DOCUMENTATION=(YES|NO)
    Build and install the documentation in HTML format.
    It requires Sphinx.
    The default is NO.

  • -DZeta_WITH_PDF_DOCUMENTATION=(YES|NO)
    Build and install the documentation in PDF format. It requires Sphinx and LaTeX with PDF support. The default is NO.

  • -DZeta_WITH_PKGCONFIG_SUPPORT=(YES|NO)
    Generate and install the pkg-config file.
    The default is NO.

  • -DZeta_WITH_STANDARD_DOCUMENTS=(YES|NO)
    Install the standard text documents distributed with the package: AUTHORS, COPYING, COPYING.LESSER, HISTORY and README.
    The default is NO.

Finally, once the build system is configured according to your needs, build and install the package:

cmake --build . [--config (Debug|Release|RelWithDebInfo|MinSizeRel)]
cmake --install . [--config <configuration>]

License

Copyright © 2006-2024 Manuel Sainz de Baranda y Goñi.

This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library. If not, see https://www.gnu.org/licenses/.