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. ...@@ -19,8 +19,7 @@ A Karaoke player made to replace the old bash scripts on Sakura.
### Prerequisites ### Prerequisites
- [autotools](https://www.gnu.org/software/autoconf/), libtool, - [cmake](https://cmake.org/)
autoconf, automake, etc
- a C compiler with C11 support - a C compiler with C11 support
- the [sqlite3](https://www.sqlite.org/) development library, version - the [sqlite3](https://www.sqlite.org/) development library, version
3.31.0 or newer for [generated columns](https://www.sqlite.org/gencol.html) support 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: ...@@ -43,13 +42,6 @@ To build Klkt, you will need:
- qmake and Qt5 developpement libraries (Qt5Core Qt5Gui Qt5Network Qt5Widgets) - qmake and Qt5 developpement libraries (Qt5Core Qt5Gui Qt5Network Qt5Widgets)
- don't forget the qt5dxcb-plugin (xcb plugin for qt5) when compiling - 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 You will also need the following executables, with their path setted in
the configuration file: the configuration file:
...@@ -61,55 +53,24 @@ the configuration file: ...@@ -61,55 +53,24 @@ the configuration file:
on archlinux, seems to be distributed in its own package on debian: on archlinux, seems to be distributed in its own package on debian:
[xxd](https://packages.debian.org/sid/xxd) [xxd](https://packages.debian.org/sid/xxd)
If you use the configure with the `--with-depends` option (needed on If you are developping for lektor, you will need the
debian 10), you will need the following dependencies: [clang-format](https://releases.llvm.org/download.html) command line
utility, for a beautifull and uniform C++ code style.
- the [curl](https://curl.haxx.se/) command line utility. It can be [Here](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) is the
replaced by the wget command line utility. list of all the options to put in the `.clang-format` file.
- 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`.
### Building instructions ### Building instructions
The manual way of installing and setting up lektor: The manual way of installing and setting up lektor:
```sh ```sh
# Setup files, you can also change the default kara folder and database path cmake -Bbuild \
# in the config file. -DCMAKE_C_COMPILER=clang \ # Choose the compiler
sudo mkdir /home/kara && sudo chown USER:USER /home/kara -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug # The debug stuff
# Install, typical with libtool.
mkdir build && cd build && ../configure
make
sudo make install
# Config and run.
lektord
``` ```
The recommended `configure` command is the following: Note that the last option is here to generate the
`compile_commands.json`, you should copy it at the root of the project.
```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
```
The sqlite database and the config file will be created automatically if 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 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 ...@@ -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. admin config` to generate the config file again.
> **Important note**: Upgrading the config or the database scheme > **Important note**: Upgrading the config or the database scheme
> automatically is not supported automatically is not supported yet. If you are experiencing weird things
yet. If you are experiencing weird things with lektord, please try first with lektord, please try first to delete the database and config and
to delete the database and config and regenerate them. There are regenerate them. There are currently no way of doing a backup of
currently no way of doing a backup of playlists and stickers with playlists and stickers with lektor, this is WIP.
lektor, this is WIP.
If you are using special modules or are compiling lektor without static If you are using special modules or are compiling lektor without static
modules, you may set their **absolute path** inside the lektor's config modules, you may set their **absolute path** inside the lektor's config
file. 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 > **Important note**: if you are building using WSL, `lektord` will
likely not launch, because `XDG_RUNTIME_DIR` is not defined here. This likely not launch, because `XDG_RUNTIME_DIR` is not defined here. This
folder is important, this is where most of your deamons are puttings folder is important, this is where most of your deamons are puttings
...@@ -145,9 +102,9 @@ on it, and it no longer exists...). ...@@ -145,9 +102,9 @@ on it, and it no longer exists...).
## Preparing a kara for lektor ## Preparing a kara for lektor
The ideal way of populating lektor is using *Kurisu*. The `update` and The ideal way of populating lektor is using *Kurisu*. The `update` is
`rescan` commands are here for that. To import the favorites and here for that. To import the favorites and playlists from *Kurisu*, use
playlists from *Kurisu*, use the `import` command. the `import` command.
## How to use lektor ## How to use lektor
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter