Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 01caa725 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

DOC: Edit README for cmake build instructions

parent 5cd00c16
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!168Build system change to CMAKE
......@@ -19,8 +19,7 @@ A Karaoke player made to replace the old bash scripts on Sakura.
### Prerequisites
- [autotools](https://www.gnu.org/software/autoconf/), libtool,
autoconf, automake, etc
- [cmake](https://cmake.org/)
- a C compiler with C11 support
- the [sqlite3](https://www.sqlite.org/) development library, version
3.31.0 or newer for [generated columns](https://www.sqlite.org/gencol.html) support
......@@ -43,13 +42,6 @@ To build Klkt, you will need:
- qmake and Qt5 developpement libraries (Qt5Core Qt5Gui Qt5Network Qt5Widgets)
- don't forget the qt5dxcb-plugin (xcb plugin for qt5) when compiling
To build the Suzuha p2p repo, you will need an up to date rust
installation, for that use the following command:
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
You will also need the following executables, with their path setted in
the configuration file:
......@@ -61,55 +53,24 @@ the configuration file:
on archlinux, seems to be distributed in its own package on debian:
[xxd](https://packages.debian.org/sid/xxd)
If you use the configure with the `--with-depends` option (needed on
debian 10), you will need the following dependencies:
- the [curl](https://curl.haxx.se/) command line utility. It can be
replaced by the wget command line utility.
- the [wget](https://www.gnu.org/software/wget/) command line utility.
Can be replaced by curl command line utility.
- the [git](https://git-scm.com/) command line utility
Note that because of the use of `curl` and `get`, building behind a
proxy may be challenging.
If you are developping for lektor, you will need:
- the [astyle](http://astyle.sourceforge.net/) command line utility, for
a beautifull and uniform coding style for C code.
- the [clang-format](https://releases.llvm.org/download.html) command
line utility, for a beautifull and uniform C++ code style.
[Here](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) is
the list of all the options to put in the `.clang-format` file.
> If you are having problems build lektor (AC macros not defined), try
copy the `.m4` files from `/usr/share/aclocal` to `config/m4`.
If you are developping for lektor, you will need the
[clang-format](https://releases.llvm.org/download.html) command line
utility, for a beautifull and uniform C++ code style.
[Here](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) is the
list of all the options to put in the `.clang-format` file.
### Building instructions
The manual way of installing and setting up lektor:
```sh
# Setup files, you can also change the default kara folder and database path
# in the config file.
sudo mkdir /home/kara && sudo chown USER:USER /home/kara
# Install, typical with libtool.
mkdir build && cd build && ../configure
make
sudo make install
# Config and run.
lektord
cmake -Bbuild \
-DCMAKE_C_COMPILER=clang \ # Choose the compiler
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug # The debug stuff
```
The recommended `configure` command is the following:
```sh
../configure --prefix=$HOME/.local \ # To not need to sudo to install
--enable-klkt=yes \ # For desktop notifications
CC=clang CXX=clang++ # I prefer clang over gcc
```
Note that the last option is here to generate the
`compile_commands.json`, you should copy it at the root of the project.
The sqlite database and the config file will be created automatically if
needed, i.e. on the first run. If you are upgrading lektor, the config
......@@ -117,19 +78,15 @@ might not be correct. You can delete the config file or use the `lkt
admin config` to generate the config file again.
> **Important note**: Upgrading the config or the database scheme
> automatically is not supported
yet. If you are experiencing weird things with lektord, please try first
to delete the database and config and regenerate them. There are
currently no way of doing a backup of playlists and stickers with
lektor, this is WIP.
automatically is not supported yet. If you are experiencing weird things
with lektord, please try first to delete the database and config and
regenerate them. There are currently no way of doing a backup of
playlists and stickers with lektor, this is WIP.
If you are using special modules or are compiling lektor without static
modules, you may set their **absolute path** inside the lektor's config
file.
To generate AppImages, add `--enable-appimage` to the `configure` line.
Note that the only supported distribution methode is AppImage.
> **Important note**: if you are building using WSL, `lektord` will
likely not launch, because `XDG_RUNTIME_DIR` is not defined here. This
folder is important, this is where most of your deamons are puttings
......@@ -145,9 +102,9 @@ on it, and it no longer exists...).
## Preparing a kara for lektor
The ideal way of populating lektor is using *Kurisu*. The `update` and
`rescan` commands are here for that. To import the favorites and
playlists from *Kurisu*, use the `import` command.
The ideal way of populating lektor is using *Kurisu*. The `update` is
here for that. To import the favorites and playlists from *Kurisu*, use
the `import` command.
## How to use lektor
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter