mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Update build instructions
This commit is contained in:
parent
a5b94f0b5c
commit
78f7bef920
80
INSTALL.md
80
INSTALL.md
@ -3,63 +3,83 @@
|
|||||||
YACReader and YACReaderLibrary are build using qmake. To build and install the
|
YACReader and YACReaderLibrary are build using qmake. To build and install the
|
||||||
program, run:
|
program, run:
|
||||||
|
|
||||||
> qmake-qt5 CONFIG+=[Options]
|
```
|
||||||
> make
|
qmake CONFIG+=[Options]
|
||||||
> make install
|
make
|
||||||
|
make install
|
||||||
|
```
|
||||||
|
|
||||||
from the source dir. For separate builds of YACReader or YACReaderLibrary,
|
from the top source dir. For separate builds of YACReader or YACReaderLibrary,
|
||||||
enter their respective subfolders and run the commands from there.
|
enter their respective subfolders and run the commands from there.
|
||||||
|
|
||||||
The headless version of YACReaderLibrary is located in the YACReaderLibraryServer
|
The headless version of YACReaderLibrary is located in the YACReaderLibraryServer
|
||||||
folder. To build it, enter the folder and run the commands described above.
|
folder. To build it, enter the folder and run the commands described above.
|
||||||
|
|
||||||
|
Note: If your system has multiple versions of Qt, you need to make sure you are
|
||||||
|
using qmake for Qt5
|
||||||
|
|
||||||
## Build dependencies:
|
## Build dependencies:
|
||||||
|
|
||||||
- Qt >= 5.6 with the following modules:
|
- Qt >= 5.9 with the following modules:
|
||||||
- declarative
|
- declarative
|
||||||
- quickcontrols
|
- quickcontrols
|
||||||
- sql
|
- sql
|
||||||
- script
|
|
||||||
- multimedia
|
- multimedia
|
||||||
- imageformats
|
- imageformats
|
||||||
- opengl
|
- opengl
|
||||||
- sql-sqlite
|
- sql-sqlite
|
||||||
- network
|
- network
|
||||||
- A pdf rendering backend (optional, see below)
|
- Backends for pdf rendering (optional) and file
|
||||||
- qrencode (optional)
|
decompression (see below)
|
||||||
- 7zip or p7zip (see below)
|
- qrencode for QR code generation (optional)
|
||||||
- (lib)unarr (optional, see below)
|
|
||||||
|
|
||||||
Not all dependencies are needed at build time. For example the qml components in
|
Not all dependencies are needed at build time. For example the qml components in
|
||||||
YACReaderLibrary (GridView, InfoView) will only show a white page if the
|
YACReaderLibrary (GridView, InfoView) will only show a white page if the
|
||||||
required qml modules (declarative, quickcontrols) are missing.
|
required qml modules (declarative, quickcontrols) are missing.
|
||||||
This can also happen if these dependencies are too old (i.e Qt < 5.6 is used).
|
|
||||||
|
|
||||||
## Backends
|
## Backends
|
||||||
|
|
||||||
### Decompression
|
### Decompression
|
||||||
|
|
||||||
Configure the library you want to use throught `qmake` `CONFIG`. `CONFIG += 7zip` or `CONFIG += unarr`, if not specified `7zip` is used in MacOS and Windows and `unarr` in Linux.
|
YACReader currently supports two decompression backends, 7zip and (lib)unarr. YACReader
|
||||||
|
defaults to 7zip for Windows and Mac OS and unarr for Linux and other OS, but you can
|
||||||
|
override this using one of the following config options:
|
||||||
|
|
||||||
|
`CONFIG+=7zip`
|
||||||
|
|
||||||
|
`CONFIG+=unarr`
|
||||||
|
|
||||||
#### 7zip
|
#### 7zip
|
||||||
|
|
||||||
YACReader uses by default [7zip](https://www.7-zip.org/) for comic book archive
|
[7zip](https://www.7-zip.org/) and [p7zip](http://p7zip.sourceforge.net/)
|
||||||
decompression. In MacOS and Linux, it uses [p7zip](http://p7zip.sourceforge.net/). Please read `compressed_archive/README_7zip.txt` for more details. This is the recomended library since supports a wider variety of formats, including RAR5 and 7z.
|
are the default decompression backend for Windows and Mac OS builds.
|
||||||
|
|
||||||
|
They are recommended for these systems, as they currently have better support for 7z
|
||||||
|
files and support the RAR5 format.
|
||||||
|
|
||||||
|
As this backend requires specific versions of 7zip for Windows and p7zip for *NIX and
|
||||||
|
is not 100% GPL compatible (unrar License restriction), it is not recommended for
|
||||||
|
installations where you can't guarantee the installed version of (p7zip) or the license is an issue.
|
||||||
|
|
||||||
|
To build using this backend, you need to install additional sources to the build environment.
|
||||||
|
For more information, please refer to [README_7zip](compressed_archive/README_7zip.txt).
|
||||||
|
|
||||||
#### unarr
|
#### unarr
|
||||||
|
|
||||||
YACReader can use [(lib)unarr](https://github.com/selmf/unarr) for comic book archive
|
[(lib)unarr](https://github.com/selmf/unarr) is the default backend for Linux builds.
|
||||||
decompression. Most Linux distributions don't ship this library yet, so you will
|
|
||||||
probably have to build it yourself.
|
|
||||||
|
|
||||||
We recommend using (lib)unarr as a shared library, but we also support static
|
As of version 1.0.1, it supports less formats than 7zip, notably missing RAR5 support and only having
|
||||||
and embedded builds. Please consult the [README](compressed_archive/unarr/README.txt)
|
limited support for 7z on git versions. However, this is rarely an issue in practice as the vast majority
|
||||||
for more information on this topic.
|
of comic books use either zip or RAR4 compression, which is handled nicely by this backend.
|
||||||
|
|
||||||
|
The unarr backend is recommended for packaging, lightweight installations and generally for all users requiring
|
||||||
|
more stability than the 7zip backend can offer.
|
||||||
|
|
||||||
|
The recommended way to use this on Linux or other *NIX is to install it as a package, but you can also do an embedded build.
|
||||||
|
For more information, please consult the [README](compressed_archive/unarr/README.txt)
|
||||||
### PDF
|
### PDF
|
||||||
|
|
||||||
Starting with version 9.0.0 YACReader supports the following pdf render engines:
|
Starting with version 9.0.0 YACReader supports the following pdf rendering engines:
|
||||||
|
|
||||||
- poppler (Linux/Unix default)
|
- poppler (Linux/Unix default)
|
||||||
- pdfium (default for Windows and MacOS)
|
- pdfium (default for Windows and MacOS)
|
||||||
@ -70,7 +90,7 @@ To override the default for a given platform add CONFIG+=[pdfbackend] as an opti
|
|||||||
when running qmake.
|
when running qmake.
|
||||||
|
|
||||||
While the Poppler backend is well tested and has been the standard for YACReader
|
While the Poppler backend is well tested and has been the standard for YACReader
|
||||||
for a long time, it's performance is a bit lacking. The pdfium engine offers
|
for a long time, its performance is a bit lacking. The pdfium engine offers
|
||||||
much better performance (about 10x faster on some pdf files we tested).
|
much better performance (about 10x faster on some pdf files we tested).
|
||||||
However, at the time of this writing, it is not a library that is available
|
However, at the time of this writing, it is not a library that is available
|
||||||
prepackaged for Linux.
|
prepackaged for Linux.
|
||||||
@ -80,23 +100,25 @@ prepackaged for Linux.
|
|||||||
You can adjust the installation prefix as well als the path "make install" uses
|
You can adjust the installation prefix as well als the path "make install" uses
|
||||||
to install the files.
|
to install the files.
|
||||||
|
|
||||||
>qmake PREFIX=DIR
|
`qmake PREFIX=DIR`
|
||||||
|
|
||||||
sets the default prefix (for example "/", "/usr", "/usr/local").
|
sets the default prefix (for example "/", "/usr", "/usr/local").
|
||||||
|
|
||||||
>make install INSTALL_ROOT=DIR
|
`make install INSTALL_ROOT=DIR`
|
||||||
|
|
||||||
can be used to install to a different location, which is usefull for packaging.
|
can be used to install to a different location, which is usefull for packaging.
|
||||||
|
|
||||||
Default values:
|
Default values:
|
||||||
|
|
||||||
>PREFIX=/usr
|
```
|
||||||
>INSTALL_ROOT=""
|
PREFIX=/usr
|
||||||
|
INSTALL_ROOT=""
|
||||||
|
```
|
||||||
|
|
||||||
On embedded devices that don't support desktop OpenGL, it is recommended to use
|
On embedded devices that don't support desktop OpenGL, it is recommended to use
|
||||||
the no_opengl config option:
|
the no_opengl config option:
|
||||||
|
|
||||||
qmake-qt5 CONFIG+=no_opengl
|
`qmake CONFIG+=no_opengl`
|
||||||
|
|
||||||
This will remove any dependency on desktop OpenGL and hardlock YACReader's
|
This will remove any dependency on desktop OpenGL and hardlock YACReader's
|
||||||
coverflow to software rendering. Please note that it does not actually remove
|
coverflow to software rendering. Please note that it does not actually remove
|
||||||
@ -107,10 +129,10 @@ OpenGL from the build, the Qt toolkit will still make use of it.
|
|||||||
|
|
||||||
If you're compiling YACReader because there is no package available for your
|
If you're compiling YACReader because there is no package available for your
|
||||||
Linux distribution please consider creating and submitting a package or filing a
|
Linux distribution please consider creating and submitting a package or filing a
|
||||||
package request.
|
package request for your distribution.
|
||||||
|
|
||||||
While we do provide packages for .deb and .rpm based distributions as well as an
|
While we do provide packages for .deb and .rpm based distributions as well as an
|
||||||
AUR package for Archlinux and it's derivates, we are in need of downstream packagers
|
AUR package for Archlinux and its derivates, we are in need of downstream packagers
|
||||||
that are willing to make YACReader available as a standard package for their distro.
|
that are willing to make YACReader available as a standard package for their distro.
|
||||||
|
|
||||||
If you are interested, please contact @selmf on the YACReader forums or write
|
If you are interested, please contact @selmf on the YACReader forums or write
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
If you are trying to compile YACReader with a 7zip decompression backend,
|
If you are trying to compile YACReader with a 7zip decompression backend,
|
||||||
you need to download de source code of 7zip (Windows) or p7zip (Linux/MacOSX).
|
you need to download the source code of 7zip 18.05 (Windows) or p7zip 16.02 (Linux/MacOSX).
|
||||||
|
|
||||||
Please extract it and rename the folder to lib7zip (Windows) or libp7zip (Linux/MacOSX),
|
Please extract it and rename the folder to lib7zip (Windows) or libp7zip (Linux/MacOSX),
|
||||||
then copy it to $YACREADER_SRC/compressed_archive/ (this folder).
|
then copy it to $YACREADER_SRC/compressed_archive/ (this folder).
|
||||||
|
|
||||||
YACReader is compiled using 7zip 18.05 and p7zip 16.02.
|
|
||||||
|
|
||||||
7zip is the recommended library to use is you want support for 7zip files and rar5.
|
7zip is the recommended library to use is you want support for 7zip files and rar5.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Starting with YACReader 9.0.0 all versions of YACReader use (lib)unarr >= 1.0.1
|
Starting with YACReader 9.0.0 all versions of YACReader can use (lib)unarr >= 1.0.1
|
||||||
as decompression backend. For Windows and MacOSX precompiled libraries
|
as decompression backend. For Windows and MacOSX precompiled libraries
|
||||||
are available in the dependencies folder (not included in the source tarballs!).
|
are available in the dependencies folder (not included in the source tarballs!).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user