mirror of
https://github.com/YACReader/yacreader
synced 2025-07-22 23:15:14 -04:00
Fixed data base info retrieving through DBHelper, value(QString)
should never be used because it is really slow. All items sorting should be done at db level or using std::sort.
This commit is contained in:
111
INSTALL.txt
Normal file
111
INSTALL.txt
Normal file
@ -0,0 +1,111 @@
|
||||
COMPILATION GUIDE FOR LINUX/UNIX USERS
|
||||
**************************************
|
||||
|
||||
YACReader and YACReaderLibrary are build using qmake. To build and install the program, run:
|
||||
|
||||
qmake-qt5 CONFIG+=[Options]
|
||||
make
|
||||
make install
|
||||
|
||||
from the source dir. For seperate builds of YACReader or YACReaderLibrary, enter their respective subfolders and run the commands from there.
|
||||
|
||||
The headless version of YACReaderLibrary is located in the YACReaderLibraryServer folder. To build it, enter the folder and run the steps as
|
||||
described above.
|
||||
|
||||
|
||||
Dependencies:
|
||||
-------------
|
||||
|
||||
- Qt >= 5.3 with the following modules:
|
||||
- declarative
|
||||
- quickcontrols
|
||||
- sql
|
||||
- script
|
||||
- multimedia
|
||||
- imageformats
|
||||
- opengl
|
||||
- sql-sqlite
|
||||
- network
|
||||
|
||||
- a pdf rendering backend, poppler-qt5 or pdfium (optional, see below)
|
||||
- qrencode (optional)
|
||||
- sqllite
|
||||
- glu
|
||||
- a decompression backend, either 7zip or unarr (see below)
|
||||
|
||||
Please note that not all of these dependencies are needed at build time. A good example for this is YACReaderLibrary's GridView mode which will
|
||||
silently fail and only show a white page if the proper qml modules (declarative, quickcontrols) are not installed.
|
||||
|
||||
|
||||
Decompression backend:
|
||||
----------------------
|
||||
|
||||
YACReader supports two decompression backends:
|
||||
|
||||
- unarr
|
||||
- p7zip=9.20.1
|
||||
|
||||
These can be selected at build time by adding either CONFIG+=unarr or CONFIG+=7zip as an option when running qmake.
|
||||
If none of these is provided, the build system will default to unarr on Linux/Unix and [p]7zip on Windows and OS X.
|
||||
|
||||
The decompression backends have their own dependencies and require additional steps like downloading additional source code
|
||||
for setup. Please consult the README files provided in the compressed_archive and compressed_archive/unarr folders for details.
|
||||
|
||||
If you chose to build YACReader with p7zip as a backend on Linux/Unix, please take notice that this backend has some problems:
|
||||
|
||||
- p7zip > 9.20.1 is not supported
|
||||
- p7zip 9.20.1 has known bugs that are fixed only in the later versions
|
||||
- a system update that replaces p7zip 9.20.1 with a later version will make YACReader unusable
|
||||
|
||||
If your system already ships with p7zip > 9.20.1 you can place 7z.so and the Codecs folder with the Rar29.so file from p7zip 9.20.1 in /usr/lib/yacreader
|
||||
YACReader will check this folder first and can thus continue using 7zip as a backend with p7zip > 9.20.1 installed on your system.
|
||||
|
||||
|
||||
Pdf backend:
|
||||
------------
|
||||
|
||||
Starting with version 8.6.0 YACReader supports the following pdf render backends:
|
||||
|
||||
- poppler (Linux default)
|
||||
- pdfium
|
||||
- pdfkit (macOS only, macOS default)
|
||||
- no_pdf (disables pdf support)
|
||||
|
||||
To select one of them just add CONFIG+=[backend] when running qmake.
|
||||
|
||||
While the Poppler backend is well-tested and has been the standard for YACReader for a long time, its performance is a bit lacking.
|
||||
Pdfium, the pdf render engine developed by Google's Chromium project and used in the
|
||||
Chrome browser, offers much better performance (about 10x as fast on some pdf files we tested).
|
||||
However, at the time of this writing, it isn't easily available as an installable package and a bit challenging to build.
|
||||
If you are interested in using this backend, you can find further informations on how to proceed in the dependencies subfolder.
|
||||
|
||||
|
||||
Other build options:
|
||||
--------------------
|
||||
|
||||
You can adjust the installation prefix as well als the path make install uses to install the files.
|
||||
Use "qmake PREFIX=DIR" to configure YACReader for your systems default prefix (for example "/", "/usr", "/usr/local").
|
||||
|
||||
For packaging purposes, you can use "make install INSTALL_ROOT=DIR" to install to a different location than the prefix.
|
||||
|
||||
Default values:
|
||||
|
||||
PREFIX=/usr
|
||||
INSTALL_ROOT=""
|
||||
|
||||
On embedded devices that don't support desktop OpenGL, it is recommended to use the no_opengl config option:
|
||||
|
||||
qmake-qt5 CONFIG+=no_opengl
|
||||
|
||||
This will remove any dependency on desktop OpenGL and hardlock YACReader's coverflow to software rendering. Please note that it
|
||||
doesn't actually remove OpenGL from the build, the Qt toolkit will still make use of it.
|
||||
|
||||
|
||||
DO YOU WANT TO HELP YACREADER?
|
||||
******************************
|
||||
|
||||
If you're compiling YACReader because there is no package available for your Linux distribution please consider creating and submitting a package.
|
||||
While we do provide packages for .deb based distributions as well as an AUR package for Archlinux we are in need of packagers especially for RPM based
|
||||
distributions. If you are interested, please contact selmf on the YACReader forums or write an email to info@yacreader.com
|
||||
|
||||
If you have already created a package for your Linux distribution please let us know so whe can add it to our downloads list ;)
|
Reference in New Issue
Block a user