mirror of
https://github.com/YACReader/yacreader
synced 2025-05-25 18:00:46 -04:00
357 lines
9.6 KiB
Prolog
357 lines
9.6 KiB
Prolog
TEMPLATE = app
|
|
TARGET = YACReaderLibrary
|
|
|
|
QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
|
|
|
|
DEPENDPATH += .
|
|
INCLUDEPATH += . \
|
|
../common \
|
|
./server \
|
|
./db \
|
|
../custom_widgets \
|
|
./comic_vine \
|
|
./comic_vine/model
|
|
|
|
DEFINES += SERVER_RELEASE YACREADER_LIBRARY
|
|
|
|
# load default build flags
|
|
include (../config.pri)
|
|
include (../dependencies/pdf_backend.pri)
|
|
|
|
INCLUDEPATH += ../common/gl
|
|
|
|
# there are two builds for Windows, Desktop OpenGL based and ANGLE OpenGL ES based
|
|
win32 {
|
|
CONFIG(force_angle) {
|
|
message("using ANGLE")
|
|
LIBS += -loleaut32 -lole32 -lshell32 -lopengl32 -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 -luser32
|
|
}
|
|
|
|
msvc {
|
|
QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
|
|
QMAKE_LFLAGS_RELEASE += /LTCG
|
|
}
|
|
CONFIG -= embed_manifest_exe
|
|
}
|
|
|
|
CONFIG(force_angle) {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
Release:DESTDIR = ../release64_angle
|
|
Debug:DESTDIR = ../debug64_angle
|
|
} else {
|
|
Release:DESTDIR = ../release_angle
|
|
Debug:DESTDIR = ../debug_angle
|
|
}
|
|
} else {
|
|
contains(QMAKE_TARGET.arch, x86_64) {
|
|
Release:DESTDIR = ../release64
|
|
Debug:DESTDIR = ../debug64
|
|
} else {
|
|
Release:DESTDIR = ../release
|
|
Debug:DESTDIR = ../debug
|
|
}
|
|
}
|
|
|
|
macx {
|
|
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
|
|
CONFIG += objective_c
|
|
QT += gui-private
|
|
lessThan(QT_MAJOR_VERSION, 6): QT += macextras
|
|
}
|
|
|
|
#CONFIG += release
|
|
CONFIG -= flat
|
|
QT += sql network widgets svg quickcontrols2
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 5): QT += openglwidgets core5compat
|
|
|
|
# Input
|
|
HEADERS += comic_flow.h \
|
|
../common/concurrent_queue.h \
|
|
create_library_dialog.h \
|
|
db/comic_query_result_processor.h \
|
|
db/folder_query_result_processor.h \
|
|
db/query_lexer.h \
|
|
db/search_query.h \
|
|
folder_content_view.h \
|
|
initial_comic_info_extractor.h \
|
|
library_comic_opener.h \
|
|
library_creator.h \
|
|
library_window.h \
|
|
add_library_dialog.h \
|
|
rename_library_dialog.h \
|
|
properties_dialog.h \
|
|
options_dialog.h \
|
|
export_library_dialog.h \
|
|
import_library_dialog.h \
|
|
package_manager.h \
|
|
bundle_creator.h \
|
|
export_comics_info_dialog.h \
|
|
import_comics_info_dialog.h \
|
|
server_config_dialog.h \
|
|
comic_flow_widget.h \
|
|
db_helper.h \
|
|
./db/data_base_management.h \
|
|
./db/folder_item.h \
|
|
./db/folder_model.h \
|
|
./db/comic_model.h \
|
|
./db/comic_item.h \
|
|
../common/comic_db.h \
|
|
../common/folder.h \
|
|
../common/library_item.h \
|
|
../common/comic.h \
|
|
../common/bookmarks.h \
|
|
../common/pictureflow.h \
|
|
../common/release_acquire_atomic.h \
|
|
../common/worker_thread.h \
|
|
../common/custom_widgets.h \
|
|
../common/qnaturalsorting.h \
|
|
../common/yacreader_global.h \
|
|
../common/yacreader_global_gui.h \
|
|
../common/pdf_comic.h \
|
|
no_libraries_widget.h \
|
|
import_widget.h \
|
|
trayicon_controller.h \
|
|
xml_info_library_scanner.h \
|
|
xml_info_parser.h \
|
|
yacreader_content_views_manager.h \
|
|
yacreader_local_server.h \
|
|
yacreader_main_toolbar.h \
|
|
comics_remover.h \
|
|
../common/http_worker.h \
|
|
yacreader_libraries.h \
|
|
../common/exit_check.h \
|
|
comics_view.h \
|
|
classic_comics_view.h \
|
|
empty_folder_widget.h \
|
|
no_search_results_widget.h \
|
|
comic_files_manager.h \
|
|
db/reading_list_model.h \
|
|
db/reading_list_item.h \
|
|
yacreader_folders_view.h \
|
|
yacreader_reading_lists_view.h \
|
|
add_label_dialog.h \
|
|
yacreader_history_controller.h \
|
|
yacreader_navigation_controller.h \
|
|
empty_label_widget.h \
|
|
empty_container_info.h \
|
|
empty_special_list.h \
|
|
empty_reading_list_widget.h \
|
|
../common/scroll_management.h \
|
|
../common/opengl_checker.h \
|
|
info_comics_view.h \
|
|
yacreader_comics_selection_helper.h \
|
|
yacreader_comic_info_helper.h \
|
|
db/reading_list.h \
|
|
db/query_parser.h \
|
|
current_comic_view_helper.h \
|
|
ip_config_helper.h
|
|
|
|
!CONFIG(no_opengl) {
|
|
HEADERS += ../common/gl/yacreader_flow_gl.h
|
|
}
|
|
|
|
SOURCES += comic_flow.cpp \
|
|
../common/concurrent_queue.cpp \
|
|
create_library_dialog.cpp \
|
|
db/comic_query_result_processor.cpp \
|
|
db/folder_query_result_processor.cpp \
|
|
db/query_lexer.cpp \
|
|
db/search_query.cpp \
|
|
folder_content_view.cpp \
|
|
initial_comic_info_extractor.cpp \
|
|
library_comic_opener.cpp \
|
|
library_creator.cpp \
|
|
library_window.cpp \
|
|
main.cpp \
|
|
add_library_dialog.cpp \
|
|
rename_library_dialog.cpp \
|
|
properties_dialog.cpp \
|
|
options_dialog.cpp \
|
|
export_library_dialog.cpp \
|
|
import_library_dialog.cpp \
|
|
package_manager.cpp \
|
|
bundle_creator.cpp \
|
|
export_comics_info_dialog.cpp \
|
|
import_comics_info_dialog.cpp \
|
|
server_config_dialog.cpp \
|
|
comic_flow_widget.cpp \
|
|
db_helper.cpp \
|
|
./db/data_base_management.cpp \
|
|
./db/folder_item.cpp \
|
|
./db/folder_model.cpp \
|
|
./db/comic_model.cpp \
|
|
./db/comic_item.cpp \
|
|
../common/comic_db.cpp \
|
|
../common/folder.cpp \
|
|
../common/library_item.cpp \
|
|
../common/comic.cpp \
|
|
../common/bookmarks.cpp \
|
|
../common/pictureflow.cpp \
|
|
../common/custom_widgets.cpp \
|
|
../common/qnaturalsorting.cpp \
|
|
no_libraries_widget.cpp \
|
|
import_widget.cpp \
|
|
trayicon_controller.cpp \
|
|
xml_info_library_scanner.cpp \
|
|
xml_info_parser.cpp \
|
|
yacreader_content_views_manager.cpp \
|
|
yacreader_local_server.cpp \
|
|
yacreader_main_toolbar.cpp \
|
|
comics_remover.cpp \
|
|
../common/http_worker.cpp \
|
|
../common/yacreader_global.cpp \
|
|
../common/yacreader_global_gui.cpp \
|
|
yacreader_libraries.cpp \
|
|
../common/exit_check.cpp \
|
|
comics_view.cpp \
|
|
classic_comics_view.cpp \
|
|
empty_folder_widget.cpp \
|
|
no_search_results_widget.cpp \
|
|
comic_files_manager.cpp \
|
|
db/reading_list_model.cpp \
|
|
db/reading_list_item.cpp \
|
|
yacreader_folders_view.cpp \
|
|
yacreader_reading_lists_view.cpp \
|
|
add_label_dialog.cpp \
|
|
yacreader_history_controller.cpp \
|
|
yacreader_navigation_controller.cpp \
|
|
empty_label_widget.cpp \
|
|
empty_container_info.cpp \
|
|
empty_special_list.cpp \
|
|
empty_reading_list_widget.cpp \
|
|
../common/scroll_management.cpp \
|
|
../common/opengl_checker.cpp \
|
|
info_comics_view.cpp \
|
|
yacreader_comics_selection_helper.cpp \
|
|
yacreader_comic_info_helper.cpp\
|
|
db/reading_list.cpp \
|
|
current_comic_view_helper.cpp \
|
|
db/query_parser.cpp \
|
|
ip_config_helper.cpp
|
|
|
|
!CONFIG(no_opengl) {
|
|
SOURCES += ../common/gl/yacreader_flow_gl.cpp
|
|
}
|
|
|
|
macx {
|
|
HEADERS += trayhandler.h
|
|
OBJECTIVE_SOURCES += trayhandler.mm
|
|
}
|
|
|
|
include(./server/server.pri)
|
|
include(../custom_widgets/custom_widgets_yacreaderlibrary.pri)
|
|
|
|
CONFIG(7zip){
|
|
include(../compressed_archive/wrapper.pri)
|
|
} else:CONFIG(unarr) {
|
|
include(../compressed_archive/unarr/unarr-wrapper.pri)
|
|
} else:CONFIG(libarchive) {
|
|
include(../compressed_archive/libarchive/libarchive-wrapper.pri)
|
|
} else {
|
|
error(No compression backend specified. Did you mess with the build system?)
|
|
}
|
|
|
|
include(./comic_vine/comic_vine.pri)
|
|
include(../third_party/QsLog/QsLog.pri)
|
|
include(../shortcuts_management/shortcuts_management.pri)
|
|
include(../third_party/QrCode/QrCode.pri)
|
|
|
|
RESOURCES += images.qrc files.qrc
|
|
win32:RESOURCES += images_win.qrc
|
|
unix:!macx:RESOURCES += images_win.qrc
|
|
macx:RESOURCES += images_osx.qrc
|
|
|
|
RC_FILE = icon.rc
|
|
|
|
macx {
|
|
ICON = YACReaderLibrary.icns
|
|
QMAKE_INFO_PLIST = Info.plist
|
|
}
|
|
|
|
TRANSLATIONS = yacreaderlibrary_es.ts \
|
|
yacreaderlibrary_ru.ts \
|
|
yacreaderlibrary_pt.ts \
|
|
yacreaderlibrary_fr.ts \
|
|
yacreaderlibrary_nl.ts \
|
|
yacreaderlibrary_tr.ts \
|
|
yacreaderlibrary_de.ts \
|
|
yacreaderlibrary_zh_CN.ts \
|
|
yacreaderlibrary_zh_TW.ts \
|
|
yacreaderlibrary_zh_HK.ts \
|
|
yacreaderlibrary_it.ts \
|
|
yacreaderlibrary_en.ts
|
|
|
|
CONFIG += lrelease
|
|
|
|
win32 {
|
|
CONFIG(release, debug|release) {
|
|
SOURCE_QM_DIR = $$OUT_PWD/release/*.qm
|
|
}
|
|
CONFIG(debug, debug|release) {
|
|
SOURCE_QM_DIR = $$OUT_PWD/debug/*.qm
|
|
}
|
|
|
|
DEPLOYMENT_OUT_QM_DIR = ../release/languages/
|
|
OUT_QM_DIR = $${DESTDIR}/languages/
|
|
|
|
QMAKE_POST_LINK += $(MKDIR) $$shell_path($${OUT_QM_DIR}) 2> NULL & \
|
|
$(COPY) $$shell_path($${SOURCE_QM_DIR}) $$shell_path($${OUT_QM_DIR}) & \
|
|
$(MKDIR) $$shell_path($${DEPLOYMENT_OUT_QM_DIR}) 2> NULL & \
|
|
$(COPY) $$shell_path($${SOURCE_QM_DIR}) $$shell_path($${DEPLOYMENT_OUT_QM_DIR})
|
|
} else {
|
|
LRELEASE_DIR = ../release/languages/
|
|
QM_FILES_INSTALL_PATH = $$DATADIR/yacreader/languages
|
|
}
|
|
|
|
#QML/GridView
|
|
QT += quick qml quickwidgets
|
|
|
|
HEADERS += grid_comics_view.h \
|
|
comics_view_transition.h
|
|
|
|
SOURCES += grid_comics_view.cpp \
|
|
comics_view_transition.cpp
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 5) {
|
|
RESOURCES += qml6.qrc
|
|
} else {
|
|
RESOURCES += qml.qrc
|
|
}
|
|
win32:RESOURCES += qml_win.qrc
|
|
unix:!macx:RESOURCES += qml_win.qrc
|
|
macx:RESOURCES += qml_osx.qrc
|
|
|
|
unix:!macx {
|
|
|
|
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
|
|
|
#MAKE INSTALL
|
|
INSTALLS += bin icon desktop server manpage
|
|
|
|
bin.path = $$BINDIR
|
|
isEmpty(DESTDIR) {
|
|
bin.files = YACReaderLibrary
|
|
} else {
|
|
bin.files = $$DESTDIR/YACReaderLibrary
|
|
}
|
|
|
|
server.path = $$DATADIR/yacreader
|
|
server.files = ../release/server
|
|
|
|
icon.path = $$DATADIR/icons/hicolor/scalable/apps
|
|
icon.files = ../YACReaderLibrary.svg
|
|
|
|
desktop.path = $$DATADIR/applications
|
|
desktop.files = ../YACReaderLibrary.desktop
|
|
|
|
manpage.path = $$DATADIR/man/man1
|
|
manpage.files = ../YACReaderLibrary.1
|
|
}
|