mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Add 64 bit builddir support for YACReaderLibraryServer
This commit is contained in:
parent
af59672204
commit
6a1ba45a4d
110
INSTALL.md
Normal file
110
INSTALL.md
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# Building YACReader from source
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## Build dependencies:
|
||||||
|
|
||||||
|
- Qt >= 5.3 with the following modules:
|
||||||
|
- declarative
|
||||||
|
- quickcontrols
|
||||||
|
- sql
|
||||||
|
- script
|
||||||
|
- multimedia
|
||||||
|
- imageformats
|
||||||
|
- opengl
|
||||||
|
- sql-sqlite
|
||||||
|
- network
|
||||||
|
|
||||||
|
- A pdf rendering backend (optional, see below)
|
||||||
|
- qrencode (optional)
|
||||||
|
- glu
|
||||||
|
- (lib)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 missing.
|
||||||
|
|
||||||
|
## Backends
|
||||||
|
|
||||||
|
### Decompression
|
||||||
|
|
||||||
|
YACReader uses [(lib)unarr](https://github.com/selmf/unarr) for comic book
|
||||||
|
decompression. Most Linux distributions don't ship this library yet, so will
|
||||||
|
probably have to build it yourself.
|
||||||
|
|
||||||
|
We recommend using (lib)unarr as a shared library, but we also support static
|
||||||
|
and embedded builds. Please consult the [README](compressed_archive/unarr/README.txt)
|
||||||
|
for more information on this topic.
|
||||||
|
|
||||||
|
### PDF
|
||||||
|
|
||||||
|
Starting with version 9.0.0 YACReader supports the following pdf render engines:
|
||||||
|
|
||||||
|
- poppler (Linux default)
|
||||||
|
- pdfium (Default for Windows and MacOS)
|
||||||
|
- pdfkit (macOS only)
|
||||||
|
- no_pdf (disables pdf support)
|
||||||
|
|
||||||
|
To override the default for a given platform add CONFIG+=[pdfbackend] as an options
|
||||||
|
when running qmake.
|
||||||
|
|
||||||
|
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
|
||||||
|
much better performance (about 10x faster on some pdf files we tested).
|
||||||
|
However, at the time of this writing, it is not a software that is available
|
||||||
|
prepackaged for Linux.
|
||||||
|
|
||||||
|
### Other build options:
|
||||||
|
|
||||||
|
You can adjust the installation prefix as well als the path make install uses
|
||||||
|
to install the files.
|
||||||
|
|
||||||
|
>qmake PREFIX=DIR
|
||||||
|
|
||||||
|
sets the default prefix (for example "/", "/usr", "/usr/local").
|
||||||
|
|
||||||
|
>make install INSTALL_ROOT=DIR
|
||||||
|
|
||||||
|
can be used to install to a different location, which is usefull for packaging.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
# Feedback and contribution
|
||||||
|
|
||||||
|
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
|
||||||
|
package request.
|
||||||
|
|
||||||
|
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 please let us know so we can add it to
|
||||||
|
our downloads list ;)
|
111
INSTALL.txt
111
INSTALL.txt
@ -1,111 +0,0 @@
|
|||||||
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 ;)
|
|
@ -1,22 +1,22 @@
|
|||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
TARGET = YACReader
|
TARGET = YACReader
|
||||||
|
|
||||||
QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
|
QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
|
||||||
|
|
||||||
DEPENDPATH += . \
|
DEPENDPATH += . \
|
||||||
release
|
release
|
||||||
|
|
||||||
DEFINES += NOMINMAX YACREADER
|
DEFINES += NOMINMAX YACREADER
|
||||||
QMAKE_MAC_SDK = macosx10.12
|
QMAKE_MAC_SDK = macosx10.12
|
||||||
|
|
||||||
#load default build flags
|
#load default build flags
|
||||||
include (../config.pri)
|
include (../config.pri)
|
||||||
include (../dependencies/pdf_backend.pri)
|
include (../dependencies/pdf_backend.pri)
|
||||||
|
|
||||||
unix:!macx{
|
unix:!macx{
|
||||||
QMAKE_CXXFLAGS += -std=c++11
|
QMAKE_CXXFLAGS += -std=c++11
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG(force_angle) {
|
CONFIG(force_angle) {
|
||||||
contains(QMAKE_TARGET.arch, x86_64) {
|
contains(QMAKE_TARGET.arch, x86_64) {
|
||||||
Release:DESTDIR = ../release64_angle
|
Release:DESTDIR = ../release64_angle
|
||||||
@ -33,222 +33,222 @@ CONFIG(force_angle) {
|
|||||||
Release:DESTDIR = ../release
|
Release:DESTDIR = ../release
|
||||||
Debug:DESTDIR = ../debug
|
Debug:DESTDIR = ../debug
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SOURCES += main.cpp
|
||||||
|
|
||||||
|
INCLUDEPATH += ../common \
|
||||||
|
../custom_widgets
|
||||||
|
|
||||||
|
!CONFIG(no_opengl):CONFIG(legacy_gl_widget) {
|
||||||
|
INCLUDEPATH += ../common/gl_legacy \
|
||||||
|
} else {
|
||||||
|
INCLUDEPATH += ../common/gl \
|
||||||
|
}
|
||||||
|
|
||||||
|
#there are going to be two builds for windows, OpenGL based and ANGLE based
|
||||||
|
win32 {
|
||||||
|
CONFIG(force_angle) {
|
||||||
|
message("using ANGLE")
|
||||||
|
LIBS += -loleaut32 -lole32 -lshell32 -lopengl32 -lglu32 -luser32
|
||||||
|
#linking extra libs are necesary for a successful compilation, a better approach should be
|
||||||
|
#to remove any OpenGL (desktop) dependencies
|
||||||
|
#the OpenGL stuff should be migrated to OpenGL ES
|
||||||
|
DEFINES += FORCE_ANGLE
|
||||||
|
} else {
|
||||||
|
LIBS += -loleaut32 -lole32 -lshell32 -lopengl32 -lglu32 -luser32
|
||||||
|
}
|
||||||
|
|
||||||
|
QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
|
||||||
|
QMAKE_LFLAGS_RELEASE += /LTCG
|
||||||
|
CONFIG -= embed_manifest_exe
|
||||||
|
}
|
||||||
|
|
||||||
|
unix:!macx:!CONFIG(no_opengl) {
|
||||||
|
LIBS += -lGLU
|
||||||
|
}
|
||||||
|
|
||||||
|
macx {
|
||||||
|
QT += macextras gui-private
|
||||||
|
CONFIG += objective_c
|
||||||
|
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
|
||||||
|
}
|
||||||
|
|
||||||
|
QT += network widgets core multimedia
|
||||||
|
!CONFIG(no_opengl) {
|
||||||
|
QT += opengl
|
||||||
|
}
|
||||||
|
|
||||||
|
#CONFIG += release
|
||||||
|
CONFIG -= flat
|
||||||
|
|
||||||
|
# Sources
|
||||||
|
HEADERS += ../common/comic.h \
|
||||||
|
configuration.h \
|
||||||
|
goto_dialog.h \
|
||||||
|
magnifying_glass.h \
|
||||||
|
main_window_viewer.h \
|
||||||
|
viewer.h \
|
||||||
|
goto_flow.h \
|
||||||
|
options_dialog.h \
|
||||||
|
../common/bookmarks.h \
|
||||||
|
bookmarks_dialog.h \
|
||||||
|
render.h \
|
||||||
|
shortcuts_dialog.h \
|
||||||
|
translator.h \
|
||||||
|
goto_flow_widget.h \
|
||||||
|
page_label_widget.h \
|
||||||
|
goto_flow_toolbar.h \
|
||||||
|
width_slider.h \
|
||||||
|
notifications_label_widget.h \
|
||||||
|
../common/pictureflow.h \
|
||||||
|
../common/custom_widgets.h \
|
||||||
|
../common/check_new_version.h \
|
||||||
|
../common/qnaturalsorting.h \
|
||||||
|
../common/yacreader_global.h \
|
||||||
|
../common/yacreader_global_gui.h \
|
||||||
|
../common/onstart_flow_selection_dialog.h \
|
||||||
|
../common/comic_db.h \
|
||||||
|
../common/folder.h \
|
||||||
|
../common/library_item.h \
|
||||||
|
yacreader_local_client.h \
|
||||||
|
../common/http_worker.h \
|
||||||
|
../common/exit_check.h \
|
||||||
|
../common/scroll_management.h \
|
||||||
|
../common/opengl_checker.h \
|
||||||
|
../common/pdf_comic.h
|
||||||
|
|
||||||
|
!CONFIG(no_opengl) {
|
||||||
|
CONFIG(legacy_gl_widget) {
|
||||||
|
message("Using legacy YACReaderFlowGL (QGLWidget) header")
|
||||||
|
DEFINES += YACREADER_LEGACY_FLOW_GL
|
||||||
|
HEADERS += ../common/gl_legacy/yacreader_flow_gl.h
|
||||||
|
} else {
|
||||||
|
HEADERS += ../common/gl/yacreader_flow_gl.h
|
||||||
|
}
|
||||||
|
HEADERS += goto_flow_gl.h
|
||||||
|
}
|
||||||
|
|
||||||
|
SOURCES += ../common/comic.cpp \
|
||||||
|
configuration.cpp \
|
||||||
|
goto_dialog.cpp \
|
||||||
|
magnifying_glass.cpp \
|
||||||
|
main_window_viewer.cpp \
|
||||||
|
viewer.cpp \
|
||||||
|
goto_flow.cpp \
|
||||||
|
options_dialog.cpp \
|
||||||
|
../common/bookmarks.cpp \
|
||||||
|
bookmarks_dialog.cpp \
|
||||||
|
render.cpp \
|
||||||
|
shortcuts_dialog.cpp \
|
||||||
|
translator.cpp \
|
||||||
|
goto_flow_widget.cpp \
|
||||||
|
page_label_widget.cpp \
|
||||||
|
goto_flow_toolbar.cpp \
|
||||||
|
width_slider.cpp \
|
||||||
|
notifications_label_widget.cpp \
|
||||||
|
../common/pictureflow.cpp \
|
||||||
|
../common/custom_widgets.cpp \
|
||||||
|
../common/check_new_version.cpp \
|
||||||
|
../common/qnaturalsorting.cpp \
|
||||||
|
../common/onstart_flow_selection_dialog.cpp \
|
||||||
|
../common/comic_db.cpp \
|
||||||
|
../common/folder.cpp \
|
||||||
|
../common/library_item.cpp \
|
||||||
|
yacreader_local_client.cpp \
|
||||||
|
../common/http_worker.cpp \
|
||||||
|
../common/yacreader_global.cpp \
|
||||||
|
../common/yacreader_global_gui.cpp \
|
||||||
|
../common/exit_check.cpp \
|
||||||
|
../common/scroll_management.cpp \
|
||||||
|
../common/opengl_checker.cpp
|
||||||
|
|
||||||
|
!CONFIG(no_opengl) {
|
||||||
|
CONFIG(legacy_gl_widget) {
|
||||||
|
message("using legacy YACReaderFlowGL (QGLWidget) source code")
|
||||||
|
SOURCES += ../common/gl_legacy/yacreader_flow_gl.cpp
|
||||||
|
} else {
|
||||||
|
SOURCES += ../common/gl/yacreader_flow_gl.cpp
|
||||||
|
}
|
||||||
|
SOURCES += goto_flow_gl.cpp
|
||||||
|
}
|
||||||
|
|
||||||
|
include(../custom_widgets/custom_widgets_yacreader.pri)
|
||||||
|
CONFIG(7zip){
|
||||||
|
include(../compressed_archive/wrapper.pri)
|
||||||
|
} else:CONFIG(unarr){
|
||||||
|
include(../compressed_archive/unarr/unarr-wrapper.pri)
|
||||||
|
} else {
|
||||||
|
error(No compression backend specified. Did you mess with the build system?)
|
||||||
|
}
|
||||||
|
include(../shortcuts_management/shortcuts_management.pri)
|
||||||
|
|
||||||
|
RESOURCES += yacreader_images.qrc \
|
||||||
|
yacreader_files.qrc
|
||||||
|
|
||||||
|
win32:RESOURCES += yacreader_images_win.qrc
|
||||||
|
unix:!macx:RESOURCES += yacreader_images_win.qrc
|
||||||
|
macx:RESOURCES += yacreader_images_osx.qrc
|
||||||
|
|
||||||
|
include(../QsLog/QsLog.pri)
|
||||||
|
|
||||||
|
RC_FILE = icon.rc
|
||||||
|
|
||||||
|
macx {
|
||||||
|
ICON = YACReader.icns
|
||||||
|
QMAKE_INFO_PLIST = Info.plist.mac
|
||||||
|
}
|
||||||
|
|
||||||
|
TRANSLATIONS = yacreader_es.ts \
|
||||||
|
yacreader_fr.ts \
|
||||||
|
yacreader_ru.ts \
|
||||||
|
yacreader_pt.ts \
|
||||||
|
yacreader_nl.ts \
|
||||||
|
yacreader_tr.ts \
|
||||||
|
yacreader_de.ts \
|
||||||
|
yacreader_source.ts
|
||||||
|
|
||||||
|
unix:!macx {
|
||||||
|
#set install prefix if it's empty
|
||||||
|
isEmpty(PREFIX) {
|
||||||
|
PREFIX = /usr
|
||||||
|
}
|
||||||
|
|
||||||
|
BINDIR = $$PREFIX/bin
|
||||||
|
LIBDIR = $$PREFIX/lib
|
||||||
|
DATADIR = $$PREFIX/share
|
||||||
|
|
||||||
|
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\""
|
||||||
|
|
||||||
|
#MAKE INSTALL
|
||||||
|
|
||||||
|
INSTALLS += bin docs icon desktop translation manpage
|
||||||
|
|
||||||
|
bin.path = $$BINDIR
|
||||||
|
isEmpty(DESTDIR) {
|
||||||
|
bin.files = YACReader
|
||||||
|
} else {
|
||||||
|
bin.files = $$DESTDIR/YACReader
|
||||||
|
}
|
||||||
|
|
||||||
|
docs.path = $$DATADIR/doc/yacreader
|
||||||
|
|
||||||
|
#rename docs for better packageability
|
||||||
|
docs.extra = cp ../README.txt ../README
|
||||||
|
docs.files = ../README ../CHANGELOG.md
|
||||||
|
|
||||||
|
icon.path = $$DATADIR/icons/hicolor/48x48/apps
|
||||||
|
icon.files = ../YACReader.png
|
||||||
|
|
||||||
|
desktop.path = $$DATADIR/applications
|
||||||
|
desktop.files = ../YACReader.desktop
|
||||||
|
|
||||||
|
translation.path = $$DATADIR/yacreader/languages
|
||||||
|
translation.files = ../release/languages/yacreader_*
|
||||||
|
|
||||||
|
manpage.path = $$DATADIR/man/man1
|
||||||
|
manpage.files = ../YACReader.1
|
||||||
|
|
||||||
|
#remove leftover doc files when 'make clean' is invoked
|
||||||
|
QMAKE_CLEAN += "../README"
|
||||||
}
|
}
|
||||||
|
|
||||||
SOURCES += main.cpp
|
|
||||||
|
|
||||||
INCLUDEPATH += ../common \
|
|
||||||
../custom_widgets
|
|
||||||
|
|
||||||
!CONFIG(no_opengl):CONFIG(legacy_gl_widget) {
|
|
||||||
INCLUDEPATH += ../common/gl_legacy \
|
|
||||||
} else {
|
|
||||||
INCLUDEPATH += ../common/gl \
|
|
||||||
}
|
|
||||||
|
|
||||||
#there are going to be two builds for windows, OpenGL based and ANGLE based
|
|
||||||
win32 {
|
|
||||||
CONFIG(force_angle) {
|
|
||||||
message("using ANGLE")
|
|
||||||
LIBS += -loleaut32 -lole32 -lshell32 -lopengl32 -lglu32 -luser32
|
|
||||||
#linking extra libs are necesary for a successful compilation, a better approach should be
|
|
||||||
#to remove any OpenGL (desktop) dependencies
|
|
||||||
#the OpenGL stuff should be migrated to OpenGL ES
|
|
||||||
DEFINES += FORCE_ANGLE
|
|
||||||
} else {
|
|
||||||
LIBS += -loleaut32 -lole32 -lshell32 -lopengl32 -lglu32 -luser32
|
|
||||||
}
|
|
||||||
|
|
||||||
QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
|
|
||||||
QMAKE_LFLAGS_RELEASE += /LTCG
|
|
||||||
CONFIG -= embed_manifest_exe
|
|
||||||
}
|
|
||||||
|
|
||||||
unix:!macx:!CONFIG(no_opengl) {
|
|
||||||
LIBS += -lGLU
|
|
||||||
}
|
|
||||||
|
|
||||||
macx {
|
|
||||||
QT += macextras gui-private
|
|
||||||
CONFIG += objective_c
|
|
||||||
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
|
|
||||||
}
|
|
||||||
|
|
||||||
QT += network widgets core multimedia
|
|
||||||
!CONFIG(no_opengl) {
|
|
||||||
QT += opengl
|
|
||||||
}
|
|
||||||
|
|
||||||
#CONFIG += release
|
|
||||||
CONFIG -= flat
|
|
||||||
|
|
||||||
# Sources
|
|
||||||
HEADERS += ../common/comic.h \
|
|
||||||
configuration.h \
|
|
||||||
goto_dialog.h \
|
|
||||||
magnifying_glass.h \
|
|
||||||
main_window_viewer.h \
|
|
||||||
viewer.h \
|
|
||||||
goto_flow.h \
|
|
||||||
options_dialog.h \
|
|
||||||
../common/bookmarks.h \
|
|
||||||
bookmarks_dialog.h \
|
|
||||||
render.h \
|
|
||||||
shortcuts_dialog.h \
|
|
||||||
translator.h \
|
|
||||||
goto_flow_widget.h \
|
|
||||||
page_label_widget.h \
|
|
||||||
goto_flow_toolbar.h \
|
|
||||||
width_slider.h \
|
|
||||||
notifications_label_widget.h \
|
|
||||||
../common/pictureflow.h \
|
|
||||||
../common/custom_widgets.h \
|
|
||||||
../common/check_new_version.h \
|
|
||||||
../common/qnaturalsorting.h \
|
|
||||||
../common/yacreader_global.h \
|
|
||||||
../common/yacreader_global_gui.h \
|
|
||||||
../common/onstart_flow_selection_dialog.h \
|
|
||||||
../common/comic_db.h \
|
|
||||||
../common/folder.h \
|
|
||||||
../common/library_item.h \
|
|
||||||
yacreader_local_client.h \
|
|
||||||
../common/http_worker.h \
|
|
||||||
../common/exit_check.h \
|
|
||||||
../common/scroll_management.h \
|
|
||||||
../common/opengl_checker.h \
|
|
||||||
../common/pdf_comic.h
|
|
||||||
|
|
||||||
!CONFIG(no_opengl) {
|
|
||||||
CONFIG(legacy_gl_widget) {
|
|
||||||
message("Using legacy YACReaderFlowGL (QGLWidget) header")
|
|
||||||
DEFINES += YACREADER_LEGACY_FLOW_GL
|
|
||||||
HEADERS += ../common/gl_legacy/yacreader_flow_gl.h
|
|
||||||
} else {
|
|
||||||
HEADERS += ../common/gl/yacreader_flow_gl.h
|
|
||||||
}
|
|
||||||
HEADERS += goto_flow_gl.h
|
|
||||||
}
|
|
||||||
|
|
||||||
SOURCES += ../common/comic.cpp \
|
|
||||||
configuration.cpp \
|
|
||||||
goto_dialog.cpp \
|
|
||||||
magnifying_glass.cpp \
|
|
||||||
main_window_viewer.cpp \
|
|
||||||
viewer.cpp \
|
|
||||||
goto_flow.cpp \
|
|
||||||
options_dialog.cpp \
|
|
||||||
../common/bookmarks.cpp \
|
|
||||||
bookmarks_dialog.cpp \
|
|
||||||
render.cpp \
|
|
||||||
shortcuts_dialog.cpp \
|
|
||||||
translator.cpp \
|
|
||||||
goto_flow_widget.cpp \
|
|
||||||
page_label_widget.cpp \
|
|
||||||
goto_flow_toolbar.cpp \
|
|
||||||
width_slider.cpp \
|
|
||||||
notifications_label_widget.cpp \
|
|
||||||
../common/pictureflow.cpp \
|
|
||||||
../common/custom_widgets.cpp \
|
|
||||||
../common/check_new_version.cpp \
|
|
||||||
../common/qnaturalsorting.cpp \
|
|
||||||
../common/onstart_flow_selection_dialog.cpp \
|
|
||||||
../common/comic_db.cpp \
|
|
||||||
../common/folder.cpp \
|
|
||||||
../common/library_item.cpp \
|
|
||||||
yacreader_local_client.cpp \
|
|
||||||
../common/http_worker.cpp \
|
|
||||||
../common/yacreader_global.cpp \
|
|
||||||
../common/yacreader_global_gui.cpp \
|
|
||||||
../common/exit_check.cpp \
|
|
||||||
../common/scroll_management.cpp \
|
|
||||||
../common/opengl_checker.cpp
|
|
||||||
|
|
||||||
!CONFIG(no_opengl) {
|
|
||||||
CONFIG(legacy_gl_widget) {
|
|
||||||
message("using legacy YACReaderFlowGL (QGLWidget) source code")
|
|
||||||
SOURCES += ../common/gl_legacy/yacreader_flow_gl.cpp
|
|
||||||
} else {
|
|
||||||
SOURCES += ../common/gl/yacreader_flow_gl.cpp
|
|
||||||
}
|
|
||||||
SOURCES += goto_flow_gl.cpp
|
|
||||||
}
|
|
||||||
|
|
||||||
include(../custom_widgets/custom_widgets_yacreader.pri)
|
|
||||||
CONFIG(7zip){
|
|
||||||
include(../compressed_archive/wrapper.pri)
|
|
||||||
} else:CONFIG(unarr){
|
|
||||||
include(../compressed_archive/unarr/unarr-wrapper.pri)
|
|
||||||
} else {
|
|
||||||
error(No compression backend specified. Did you mess with the build system?)
|
|
||||||
}
|
|
||||||
include(../shortcuts_management/shortcuts_management.pri)
|
|
||||||
|
|
||||||
RESOURCES += yacreader_images.qrc \
|
|
||||||
yacreader_files.qrc
|
|
||||||
|
|
||||||
win32:RESOURCES += yacreader_images_win.qrc
|
|
||||||
unix:!macx:RESOURCES += yacreader_images_win.qrc
|
|
||||||
macx:RESOURCES += yacreader_images_osx.qrc
|
|
||||||
|
|
||||||
include(../QsLog/QsLog.pri)
|
|
||||||
|
|
||||||
RC_FILE = icon.rc
|
|
||||||
|
|
||||||
macx {
|
|
||||||
ICON = YACReader.icns
|
|
||||||
QMAKE_INFO_PLIST = Info.plist.mac
|
|
||||||
}
|
|
||||||
|
|
||||||
TRANSLATIONS = yacreader_es.ts \
|
|
||||||
yacreader_fr.ts \
|
|
||||||
yacreader_ru.ts \
|
|
||||||
yacreader_pt.ts \
|
|
||||||
yacreader_nl.ts \
|
|
||||||
yacreader_tr.ts \
|
|
||||||
yacreader_de.ts \
|
|
||||||
yacreader_source.ts
|
|
||||||
|
|
||||||
unix:!macx {
|
|
||||||
#set install prefix if it's empty
|
|
||||||
isEmpty(PREFIX) {
|
|
||||||
PREFIX = /usr
|
|
||||||
}
|
|
||||||
|
|
||||||
BINDIR = $$PREFIX/bin
|
|
||||||
LIBDIR = $$PREFIX/lib
|
|
||||||
DATADIR = $$PREFIX/share
|
|
||||||
|
|
||||||
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\""
|
|
||||||
|
|
||||||
#MAKE INSTALL
|
|
||||||
|
|
||||||
INSTALLS += bin docs icon desktop translation manpage
|
|
||||||
|
|
||||||
bin.path = $$BINDIR
|
|
||||||
isEmpty(DESTDIR) {
|
|
||||||
bin.files = YACReader
|
|
||||||
} else {
|
|
||||||
bin.files = $$DESTDIR/YACReader
|
|
||||||
}
|
|
||||||
|
|
||||||
docs.path = $$DATADIR/doc/yacreader
|
|
||||||
|
|
||||||
#rename docs for better packageability
|
|
||||||
docs.extra = cp ../README.txt ../README
|
|
||||||
docs.files = ../README ../CHANGELOG.md
|
|
||||||
|
|
||||||
icon.path = $$DATADIR/icons/hicolor/48x48/apps
|
|
||||||
icon.files = ../YACReader.png
|
|
||||||
|
|
||||||
desktop.path = $$DATADIR/applications
|
|
||||||
desktop.files = ../YACReader.desktop
|
|
||||||
|
|
||||||
translation.path = $$DATADIR/yacreader/languages
|
|
||||||
translation.files = ../release/languages/yacreader_*
|
|
||||||
|
|
||||||
manpage.path = $$DATADIR/man/man1
|
|
||||||
manpage.files = ../YACReader.1
|
|
||||||
|
|
||||||
#remove leftover doc files when 'make clean' is invoked
|
|
||||||
QMAKE_CLEAN += "../README"
|
|
||||||
}
|
|
||||||
|
@ -1,154 +1,155 @@
|
|||||||
######################################################################
|
TEMPLATE = app
|
||||||
# Automatically generated by qmake (2.01a) dom 12. oct 20:47:48 2008
|
TARGET = YACReaderLibraryServer
|
||||||
######################################################################
|
|
||||||
|
QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
|
||||||
TEMPLATE = app
|
|
||||||
TARGET = YACReaderLibraryServer
|
CONFIG += console
|
||||||
|
DEPENDPATH += ../YACReaderLibrary
|
||||||
QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
|
INCLUDEPATH += ../YACReaderLibrary
|
||||||
|
INCLUDEPATH += ../common \
|
||||||
CONFIG += console
|
../YACReaderLibrary/server \
|
||||||
DEPENDPATH += ../YACReaderLibrary
|
../YACReaderLibrary/db
|
||||||
INCLUDEPATH += ../YACReaderLibrary
|
|
||||||
INCLUDEPATH += ../common \
|
DEFINES += SERVER_RELEASE NOMINMAX YACREADER_LIBRARY QT_NO_DEBUG_OUTPUT
|
||||||
../YACReaderLibrary/server \
|
QMAKE_MAC_SDK = macosx10.12
|
||||||
../YACReaderLibrary/db
|
#load default build flags
|
||||||
|
#do a basic dependency check
|
||||||
DEFINES += SERVER_RELEASE NOMINMAX YACREADER_LIBRARY QT_NO_DEBUG_OUTPUT
|
include(headless_config.pri)
|
||||||
QMAKE_MAC_SDK = macosx10.12
|
include(../dependencies/pdf_backend.pri)
|
||||||
#load default build flags
|
|
||||||
#do a basic dependency check
|
win32 {
|
||||||
include(headless_config.pri)
|
LIBS += -loleaut32 -lole32 -lshell32 -luser32
|
||||||
include(../dependencies/pdf_backend.pri)
|
QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
|
||||||
|
QMAKE_LFLAGS_RELEASE += /LTCG
|
||||||
win32 {
|
CONFIG -= embed_manifest_exe
|
||||||
LIBS += -loleaut32 -lole32 -lshell32 -luser32
|
}
|
||||||
QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
|
|
||||||
QMAKE_LFLAGS_RELEASE += /LTCG
|
macx {
|
||||||
CONFIG -= embed_manifest_exe
|
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
|
||||||
}
|
CONFIG += objective_c
|
||||||
|
}
|
||||||
macx {
|
|
||||||
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
|
unix {
|
||||||
CONFIG += objective_c
|
CONFIG += c++11
|
||||||
}
|
}
|
||||||
|
|
||||||
unix {
|
#CONFIG += release
|
||||||
CONFIG += c++11
|
CONFIG -= flat
|
||||||
}
|
QT += core sql network
|
||||||
|
|
||||||
#CONFIG += release
|
# Source files
|
||||||
CONFIG -= flat
|
HEADERS += ../YACReaderLibrary/library_creator.h \
|
||||||
QT += core sql network
|
../YACReaderLibrary/package_manager.h \
|
||||||
|
../YACReaderLibrary/bundle_creator.h \
|
||||||
# Input
|
../YACReaderLibrary/db_helper.h \
|
||||||
HEADERS += ../YACReaderLibrary/library_creator.h \
|
../YACReaderLibrary/db/data_base_management.h \
|
||||||
../YACReaderLibrary/package_manager.h \
|
../common/comic_db.h \
|
||||||
../YACReaderLibrary/bundle_creator.h \
|
../common/folder.h \
|
||||||
../YACReaderLibrary/db_helper.h \
|
../common/library_item.h \
|
||||||
../YACReaderLibrary/db/data_base_management.h \
|
../common/comic.h \
|
||||||
../common/comic_db.h \
|
../common/pdf_comic.h \
|
||||||
../common/folder.h \
|
../common/bookmarks.h \
|
||||||
../common/library_item.h \
|
../common/qnaturalsorting.h \
|
||||||
../common/comic.h \
|
../common/yacreader_global.h \
|
||||||
../common/pdf_comic.h \
|
../YACReaderLibrary/yacreader_local_server.h \
|
||||||
../common/bookmarks.h \
|
../YACReaderLibrary/comics_remover.h \
|
||||||
../common/qnaturalsorting.h \
|
../common/http_worker.h \
|
||||||
../common/yacreader_global.h \
|
../YACReaderLibrary/yacreader_libraries.h \
|
||||||
../YACReaderLibrary/yacreader_local_server.h \
|
../YACReaderLibrary/comic_files_manager.h \
|
||||||
../YACReaderLibrary/comics_remover.h \
|
console_ui_library_creator.h
|
||||||
../common/http_worker.h \
|
|
||||||
../YACReaderLibrary/yacreader_libraries.h \
|
|
||||||
../YACReaderLibrary/comic_files_manager.h \
|
SOURCES += ../YACReaderLibrary/library_creator.cpp \
|
||||||
console_ui_library_creator.h
|
../YACReaderLibrary/package_manager.cpp \
|
||||||
|
../YACReaderLibrary/bundle_creator.cpp \
|
||||||
|
../YACReaderLibrary/db_helper.cpp \
|
||||||
SOURCES += ../YACReaderLibrary/library_creator.cpp \
|
../YACReaderLibrary/db/data_base_management.cpp \
|
||||||
../YACReaderLibrary/package_manager.cpp \
|
../common/comic_db.cpp \
|
||||||
../YACReaderLibrary/bundle_creator.cpp \
|
../common/folder.cpp \
|
||||||
../YACReaderLibrary/db_helper.cpp \
|
../common/library_item.cpp \
|
||||||
../YACReaderLibrary/db/data_base_management.cpp \
|
../common/comic.cpp \
|
||||||
../common/comic_db.cpp \
|
../common/bookmarks.cpp \
|
||||||
../common/folder.cpp \
|
../common/qnaturalsorting.cpp \
|
||||||
../common/library_item.cpp \
|
../YACReaderLibrary/yacreader_local_server.cpp \
|
||||||
../common/comic.cpp \
|
../YACReaderLibrary/comics_remover.cpp \
|
||||||
../common/bookmarks.cpp \
|
../common/http_worker.cpp \
|
||||||
../common/qnaturalsorting.cpp \
|
../common/yacreader_global.cpp \
|
||||||
../YACReaderLibrary/yacreader_local_server.cpp \
|
../YACReaderLibrary/yacreader_libraries.cpp \
|
||||||
../YACReaderLibrary/comics_remover.cpp \
|
../YACReaderLibrary/comic_files_manager.cpp \
|
||||||
../common/http_worker.cpp \
|
console_ui_library_creator.cpp \
|
||||||
../common/yacreader_global.cpp \
|
main.cpp
|
||||||
../YACReaderLibrary/yacreader_libraries.cpp \
|
|
||||||
../YACReaderLibrary/comic_files_manager.cpp \
|
include(../YACReaderLibrary/server/server.pri)
|
||||||
console_ui_library_creator.cpp \
|
CONFIG(7zip){
|
||||||
main.cpp
|
include(../compressed_archive/wrapper.pri)
|
||||||
|
} else:CONFIG(unarr) {
|
||||||
include(../YACReaderLibrary/server/server.pri)
|
include(../compressed_archive/unarr/unarr-wrapper.pri)
|
||||||
CONFIG(7zip){
|
} else {
|
||||||
include(../compressed_archive/wrapper.pri)
|
error(No compression backend specified. Did you mess with the build system?)
|
||||||
} else:CONFIG(unarr) {
|
}
|
||||||
include(../compressed_archive/unarr/unarr-wrapper.pri)
|
include(../QsLog/QsLog.pri)
|
||||||
} else {
|
|
||||||
error(No compression backend specified. Did you mess with the build system?)
|
|
||||||
}
|
TRANSLATIONS = yacreaderlibraryserver_es.ts \
|
||||||
include(../QsLog/QsLog.pri)
|
yacreaderlibraryserver_ru.ts \
|
||||||
|
yacreaderlibraryserver_pt.ts \
|
||||||
|
yacreaderlibraryserver_fr.ts \
|
||||||
TRANSLATIONS = yacreaderlibraryserver_es.ts \
|
yacreaderlibraryserver_nl.ts \
|
||||||
yacreaderlibraryserver_ru.ts \
|
yacreaderlibraryserver_tr.ts \
|
||||||
yacreaderlibraryserver_pt.ts \
|
yacreaderlibraryserver_de.ts \
|
||||||
yacreaderlibraryserver_fr.ts \
|
yacreaderlibraryserver_source.ts
|
||||||
yacreaderlibraryserver_nl.ts \
|
|
||||||
yacreaderlibraryserver_tr.ts \
|
RESOURCES += images.qrc
|
||||||
yacreaderlibraryserver_de.ts \
|
|
||||||
yacreaderlibraryserver_source.ts
|
contains(QMAKE_TARGET.arch, x86_64) {
|
||||||
|
Release:DESTDIR = ../release64
|
||||||
|
Debug:DESTDIR = ../debug64
|
||||||
RESOURCES += images.qrc
|
} else {
|
||||||
|
Release:DESTDIR = ../release
|
||||||
|
Debug:DESTDIR = ../debug
|
||||||
Release:DESTDIR = ../release
|
}
|
||||||
Debug:DESTDIR = ../debug
|
|
||||||
|
unix:!macx {
|
||||||
|
#set install prefix if it's empty
|
||||||
unix:!macx {
|
isEmpty(PREFIX) {
|
||||||
#set install prefix if it's empty
|
PREFIX = /usr
|
||||||
isEmpty(PREFIX) {
|
}
|
||||||
PREFIX = /usr
|
|
||||||
}
|
BINDIR = $$PREFIX/bin
|
||||||
|
LIBDIR = $$PREFIX/lib
|
||||||
BINDIR = $$PREFIX/bin
|
DATADIR = $$PREFIX/share
|
||||||
LIBDIR = $$PREFIX/lib
|
|
||||||
DATADIR = $$PREFIX/share
|
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
||||||
|
|
||||||
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
#make install
|
||||||
|
CONFIG(server_standalone) {
|
||||||
#MAKE INSTALL
|
INSTALLS += bin server translation
|
||||||
CONFIG(server_standalone) {
|
}
|
||||||
INSTALLS += bin server translation
|
else:CONFIG(server_bundled) {
|
||||||
}
|
INSTALLS += bin
|
||||||
else:CONFIG(server_bundled) {
|
}
|
||||||
INSTALLS += bin
|
else {
|
||||||
}
|
INSTALLS += bin server translation
|
||||||
else {
|
message("No build type specified. Defaulting to standalone server build (CONFIG+=server_standalone).")
|
||||||
INSTALLS += bin server translation
|
message("If you wish to run YACReaderLibraryServer on a system with an existing install of YACReaderLibrary,\
|
||||||
message("No build type specified. Defaulting to standalone server build (CONFIG+=server_standalone).")
|
please specify CONFIG+=server_bundled as an option when running qmake.")
|
||||||
message("If you wish to run YACReaderLibraryServer on a system with an existing install of YACReaderLibrary, please specify CONFIG+=server_bundled as an option when running qmake.")
|
}
|
||||||
}
|
|
||||||
|
bin.path = $$BINDIR
|
||||||
bin.path = $$BINDIR
|
isEmpty(DESTDIR) {
|
||||||
isEmpty(DESTDIR) {
|
bin.files = YACReaderLibraryServer
|
||||||
bin.files = YACReaderLibraryServer
|
} else {
|
||||||
} else {
|
bin.files = $$DESTDIR/YACReaderLibraryServer
|
||||||
bin.files = $$DESTDIR/YACReaderLibraryServer
|
}
|
||||||
}
|
|
||||||
|
server.path = $$DATADIR/yacreader
|
||||||
server.path = $$DATADIR/yacreader
|
server.files = ../release/server
|
||||||
server.files = ../release/server
|
|
||||||
|
translation.path = $$DATADIR/yacreader/languages
|
||||||
translation.path = $$DATADIR/yacreader/languages
|
translation.files = ../release/languages/yacreaderlibrary_*
|
||||||
translation.files = ../release/languages/yacreaderlibrary_*
|
|
||||||
|
# TODO: We need a manpage for yaclibserver
|
||||||
#manpage.path = $$DATADIR/man/man1
|
# TODO: We need a systemd service file for yaclibserver
|
||||||
#manpage.files = ../YACReaderLibrary.1
|
#manpage.path = $$DATADIR/man/man1
|
||||||
}
|
#manpage.files = ../YACReaderLibrary.1
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user