From 7855e479b1c8c3d5afbafcd71684b6c61936bc48 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Mon, 20 Sep 2021 10:23:31 +0200
Subject: [PATCH] DOC & BUILD: Update readme + cmake file

---
 CMakeLists.txt | 31 ++++++++++++++++---------------
 README.md      | 19 +++----------------
 2 files changed, 19 insertions(+), 31 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8aca2dce..80a614e5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,41 +47,42 @@ set(clang_C_FLAGS
 )
 
 # Find dependencies
-find_library(MPV_LIBRARY        mpv         REQUIRED)
-find_library(SQLITE3_LIBRARY    sqlite3     REQUIRED)
+find_library(MPV_LIBRARY        mpv         REQUIRED)                   # tested with 0.32.0
+find_library(SQLITE3_LIBRARY    sqlite3     REQUIRED version>=3.31.0)   # tested with 3.34.1
 
-find_package(SDL2                           REQUIRED)
-find_package(SDL2_image                     REQUIRED)
-find_package(CURL                           REQUIRED HTTP HTTPS)
+find_package(SDL2                           REQUIRED version>=2.0)      # tested with 2.0.14
+find_package(SDL2_image                     REQUIRED version>=2.0)      # same as above ^
+find_package(CURL                           REQUIRED HTTP HTTPS)        # tested with 7.74.0
 
-find_program(MKVPROPEDIT        mkvpropedit REQUIRED)
-find_program(XXD                xxd         REQUIRED)
-find_program(MAN                man)
+find_program(MKVPROPEDIT        mkvpropedit REQUIRED)   # To DL karas and apply metadata
+find_program(XXD                xxd         REQUIRED)   # To embed the sqlite db schemas into the binary
 
 TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
 if(IS_BIG_ENDIAN)
     set(LKT_ENDIANES_BIG 1)
-    message("Building lektor on ${CMAKE_SYSTEM_PROCESSOR} - big endian")
+    message(STATUS "Building lektor on ${CMAKE_SYSTEM_PROCESSOR} - big endian")
 else()
     set(LKT_ENDIANES_LITTLE 1)
-    message("Building lektor on ${CMAKE_SYSTEM_PROCESSOR} - little endian")
+    message(STATUS "Building lektor on ${CMAKE_SYSTEM_PROCESSOR} - little endian")
 endif()
 
 # Don't forget for specific things
 if(WIN32)
-    message("You are building on windows, pay attenion to the dependencies")
+    message(STATUS "You are building on windows, pay attenion to the dependencies")
     set(GENERATE_MANPAGES 0)
 endif()
 if(MSVC OR MSYS OR MINGW)
-    message("You are building with a windows compiler")
+    message(STATUS "You are building with a windows compiler")
     set(GENERATE_MANPAGES 0)
 endif()
 if(APPLE)
-    message("You are building on MacOS X")
+    message(STATUS "You are building on MacOS X")
+    find_program(MAN man REQUIRED)
     set(GENERATE_MANPAGES 1)
 endif()
 if(UNIX AND NOT APPLE)
-    message("You are building on Linux, FreeBSD or any other toaster OS")
+    message(STATUS "You are building on Linux, FreeBSD or any other toaster OS")
+    find_program(MAN man REQUIRED)
     set(GENERATE_MANPAGES 1)
 endif()
 
@@ -229,7 +230,7 @@ add_executable(lkt     ${lkt_SOURCES})
 add_executable(luka    ${luka_SOURCES} ${SQL_GENERATED_FILE})
 
 if(GENERATE_MANPAGES)
-    message("Generating manpages")
+    message(STATUS "Generating manpages")
     set(MANPAGE_COMMANDS lkt lektord lektor luka)
 
     foreach(CMD IN LISTS MANPAGE_COMMANDS)
diff --git a/README.md b/README.md
index a5756260..c882206d 100644
--- a/README.md
+++ b/README.md
@@ -19,11 +19,11 @@ A Karaoke player made to replace the old bash scripts on Sakura.
 
 ### Prerequisites
 
-- [cmake](https://cmake.org/)
+- [cmake](https://cmake.org/) with at least the version 3.5
 - 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
-- a POSIX.1-2008 compatible system (i.e. not MS Windows)
+- a POSIX.1-2008 compatible system (i.e. not MS Windows) (W support is TBD)
 
 For the module sdl2, you will need the folowing prerequisites:
 
@@ -87,19 +87,6 @@ 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.
 
-> **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
-theirs sockets and so. Blame Microsoft for that. A workaround is to
-export one: `export XDG_RUNTIME_DIR=$(mktemp -d)` before launching
-lektord. Be aware that you will have issues with sound and videos
-becouse you will need to set up a X server...
-
-> Currently, supported compilers are: `icc` 19.1.2.254 and above, `gcc`
-8.3.0 and above, `clang` 7.0.1 and above. It compiles on debian, thus it
-must compiles on your system (apport from CentOS, because I never tested
-on it, and it no longer exists...).
-
 ## Preparing a kara for lektor
 
 The ideal way of populating lektor is using *Kurisu*. The `update` is
@@ -165,7 +152,7 @@ Please, refer to the [CONTRIBUTING](CONTRIBUTING.md) file.
 ## MPD
 
 Lektor is almost MPD compatible, at least it uses the same protocol,
-which can be gotten
+which can be consulted
 [here](https://www.musicpd.org/doc/html/protocol.html#). The full
 support for MPD clients (like mpc and ncmpc) is still WIP. For the MPD
 compatibility list, see the [CONTRIBUTING](CONTRIBUTING.md) file.
-- 
GitLab