Files
libloot/README.md
T

60 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2018-11-02 20:46:36 +00:00
# libloot
2020-08-09 14:03:01 +01:00
![CI](https://github.com/loot/libloot/workflows/CI/badge.svg?branch=master&event=push)
[![Documentation Status](https://readthedocs.org/projects/loot-api/badge/?version=latest)](http://loot-api.readthedocs.io/en/latest/?badge=latest)
2014-12-07 19:59:18 +00:00
2013-07-19 20:38:24 +01:00
## Introduction
2019-04-13 13:17:43 +01:00
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.
2014-03-31 19:06:58 +02:00
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.
2018-11-02 20:46:36 +00:00
libloot provides access to LOOT's metadata and sorting functionality, and the LOOT application is built using it.
2013-07-19 15:13:51 +01:00
2016-07-25 08:37:55 +01:00
## Downloads
2016-07-20 19:33:38 +01:00
2021-04-30 21:59:42 +01:00
Releases are hosted on [GitHub](https://github.com/loot/libloot/releases), and snapshot builds are available on [Artifactory](https://loot.jfrog.io/ui/repos/tree/General/libloot). The snapshot build archives are named like so:
2016-07-20 19:33:38 +01:00
```
2018-11-02 20:46:36 +00:00
libloot-<last tag>-<revisions since tag>-g<short revision ID>_<branch>-<platform>.7z
2016-07-20 19:33:38 +01:00
```
2018-11-02 20:46:36 +00:00
## Building libloot
2013-07-19 15:13:51 +01:00
2020-08-09 14:03:01 +01:00
Refer to `.github/workflows/release.yml` for the build process.
2015-08-27 12:33:20 +01:00
2016-09-17 22:21:41 +01:00
### Linux
2015-08-27 12:33:20 +01:00
2021-02-06 08:55:07 +00:00
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:
2019-02-11 21:48:50 +00:00
- `cmake`
2021-02-06 08:55:07 +00:00
- `curl`
2019-02-11 21:48:50 +00:00
- `git`
2021-02-06 08:55:07 +00:00
- `pip3` (and therefore Python 3)
2019-02-11 21:48:50 +00:00
- `cargo` and the rest of the Rust toolchain (e.g. via
[rustup](https://rustup.rs/))
- `wget`
2021-02-06 08:55:07 +00:00
The list above may be incomplete.
2015-08-27 12:33:20 +01:00
2016-09-17 22:21:41 +01:00
### CMake Variables
2015-08-27 12:33:20 +01:00
2018-11-02 20:46:36 +00:00
libloot uses the following CMake variables to set build parameters:
Parameter | Values | Default |Description
----------|--------|---------|-----------
2018-11-02 20:46:36 +00:00
`BUILD_SHARED_LIBS` | `ON`, `OFF` | `ON` | Whether or not to build a shared libloot binary.
2016-07-25 08:37:55 +01:00
You may also need to set `BOOST_ROOT` if CMake cannot find Boost.
2014-11-11 21:38:40 +00:00
2016-09-19 17:45:25 +01:00
## Building The Documentation
2016-08-13 19:55:07 +01:00
2017-02-04 17:15:39 +00:00
The documentation is built using [Doxygen](http://www.stack.nl/~dimitri/doxygen/), [Breathe](https://breathe.readthedocs.io/en/latest/) and [Sphinx](http://www.sphinx-doc.org/en/stable/). Install Doxygen and Python (2 or 3) and make sure they're accessible from your `PATH`, then run:
2016-08-13 19:55:07 +01:00
```
2017-02-04 17:15:39 +00:00
pip install -r docs/api/requirements.txt
2016-09-22 07:53:30 +01:00
sphinx-build -b html docs build/docs/html
2016-08-13 19:55:07 +01:00
```