mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
111 lines
4.6 KiB
Plaintext
111 lines
4.6 KiB
Plaintext
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 ;) |