Skip to content
/ libloot Public

A C++ library for accessing LOOT's metadata and sorting functionality.

License

Notifications You must be signed in to change notification settings

loot/libloot

Repository files navigation

libloot

CI Documentation Status

Introduction

LOOT is a plugin load order optimisation tool for TES III: Morrowind, TES IV: Oblivion, TES V: Skyrim, TES V: Skyrim Special Edition, Fallout 3, Fallout: New Vegas, Fallout 4 and Fallout 4 VR. It is designed to assist mod users in avoiding detrimental conflicts, by automatically calculating a load order that satisfies all plugin dependencies and maximises each plugin's impact on the user's game.

LOOT also provides some load order error checking, including checks for requirements, incompatibilities and cyclic dependencies. In addition, it provides a large number of plugin-specific usage notes, bug warnings and Bash Tag suggestions.

libloot provides access to LOOT's metadata and sorting functionality, and the LOOT application is built using it.

Downloads

Releases are hosted on GitHub, and snapshot builds are available on Artifactory. The snapshot build archives are named like so:

libloot-<last tag>-<revisions since tag>-g<short revision ID>_<branch>-<platform>.7z

Building libloot

Refer to .github/workflows/release.yml for the build process.

Linux

The build process assumes that you have already cloned the libloot repository, that the current working directory is its root, and that the following applications are already installed:

  • cmake
  • curl
  • git
  • pip3 (and therefore Python 3)
  • cargo and the rest of the Rust toolchain (e.g. via rustup)
  • wget

The list above may be incomplete.

CMake Variables

libloot uses the following CMake variables to set build parameters:

Parameter Values Default Description
BUILD_SHARED_LIBS ON, OFF ON Whether or not to build a shared libloot binary.
MSVC_STATIC_RUNTIME ON, OFF OFF Whether to link the C++ runtime statically or not when building with MSVC.

You may also need to set BOOST_ROOT if CMake cannot find Boost.

Building The Documentation

The documentation is built using Doxygen, Breathe and Sphinx. Install Doxygen and Python (2 or 3) and make sure they're accessible from your PATH, then run:

pip install -r docs/api/requirements.txt
sphinx-build -b html docs build/docs/html