mirror of
				https://github.com/YACReader/yacreader
				synced 2025-10-31 16:25:15 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			247 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Prolog
		
	
	
	
	
	
| TEMPLATE = app
 | |
| TARGET = YACReader
 | |
| 
 | |
| QMAKE_TARGET_BUNDLE_PREFIX = "com.yacreader"
 | |
| 
 | |
| DEPENDPATH += . \
 | |
|     release
 | |
| 
 | |
| DEFINES += NOMINMAX YACREADER
 | |
| 
 | |
| #load default build flags
 | |
| include (../config.pri)
 | |
| include (../dependencies/pdf_backend.pri)
 | |
| 
 | |
| unix:!macx{
 | |
|     QMAKE_CXXFLAGS += -std=c++11
 | |
| }
 | |
| 
 | |
| unix:haiku {
 | |
|   DEFINES += _BSD_SOURCE
 | |
|   LIBS    += -lnetwork -lbsd
 | |
| }
 | |
| 
 | |
| 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
 | |
|     }
 | |
| }
 | |
| 
 | |
| SOURCES += main.cpp
 | |
| 
 | |
| INCLUDEPATH += ../common \
 | |
|                ../custom_widgets
 | |
| 
 | |
| !CONFIG(no_opengl) {
 | |
|     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 -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
 | |
|     }
 | |
| 
 | |
|     QMAKE_CXXFLAGS_RELEASE += /MP /Ob2 /Oi /Ot /GT /GL
 | |
|     QMAKE_LFLAGS_RELEASE += /LTCG
 | |
|     CONFIG -= embed_manifest_exe
 | |
| }
 | |
| 
 | |
| 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) {
 | |
|     HEADERS += ../common/gl/yacreader_flow_gl.h \
 | |
|                 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) {
 | |
|         SOURCES += ../common/gl/yacreader_flow_gl.cpp \
 | |
|                     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
 | |
| }
 | |
| 
 | |
| 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
 | |
| }
 | |
| isEmpty(BINDIR) {
 | |
|   BINDIR = $$PREFIX/bin
 | |
| }
 | |
| isEmpty(LIBDIR) {
 | |
|   LIBDIR = $$PREFIX/lib
 | |
| }
 | |
| isEmpty(DATADIR) {
 | |
|   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/scalable/apps
 | |
| icon.files = ../YACReader.svg
 | |
| 
 | |
| 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"
 | |
| }
 |