Add no_pdf build option

This commit is contained in:
Felix Kauselmann 2016-10-21 22:21:32 +02:00
parent 36ef664d65
commit 464a3b6649
7 changed files with 112 additions and 84 deletions

View File

@ -58,16 +58,22 @@ win32 {
} }
unix:!macx{ unix:!macx{
!CONFIG(pdfium){ !CONFIG(no_pdf){
INCLUDEPATH += /usr/include/poppler/qt5 !CONFIG(pdfium){
LIBS += -L/usr/lib -lpoppler-qt5 INCLUDEPATH += /usr/include/poppler/qt5
} else { LIBS += -L/usr/lib -lpoppler-qt5
} else {
#static pdfium libraries have to be included *before* dynamic libraries
DEFINES += "USE_PDFIUM" DEFINES += "USE_PDFIUM"
INCLUDEPATH += /usr/include/pdfium INCLUDEPATH += /usr/include/pdfium
LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \ LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \
-lfxcrt -lfx_agg -lfxcodec -lfx_lpng -lfx_libopenjpeg -lfx_lcms2 -ljpeg \ -lfxcrt -lfx_agg -lfxcodec -lfx_lpng -lfx_libopenjpeg -lfx_lcms2 -ljpeg \
-lfx_zlib -lfdrm -lfxedit -lformfiller -lpdfwindow -lpdfium -lbigint -ljavascript \ -lfx_zlib -lfdrm -lfxedit -lformfiller -lpdfwindow -lpdfium -lbigint -ljavascript \
-lfxedit -Wl,--end-group -lfreetype -lfxedit -Wl,--end-group -lfreetype
}
}
else {
DEFINES += "NO_PDF"
} }
!CONFIG(no_opengl) { !CONFIG(no_opengl) {

View File

@ -46,11 +46,12 @@ win32 {
} }
unix:!macx{ unix:!macx{
!CONFIG(pdfium) { !CONFIG(no_pdf){
!CONFIG(pdfium){
INCLUDEPATH += /usr/include/poppler/qt5 INCLUDEPATH += /usr/include/poppler/qt5
LIBS += -L/usr/lib -lpoppler-qt5 LIBS += -L/usr/lib -lpoppler-qt5
} } else {
else { #static pdfium libraries have to be included *before* dynamic libraries
DEFINES += "USE_PDFIUM" DEFINES += "USE_PDFIUM"
INCLUDEPATH += /usr/include/pdfium INCLUDEPATH += /usr/include/pdfium
LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \ LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \
@ -58,6 +59,10 @@ unix:!macx{
-lfx_zlib -lfdrm -lfxedit -lformfiller -lpdfwindow -lpdfium -lbigint -ljavascript \ -lfx_zlib -lfdrm -lfxedit -lformfiller -lpdfwindow -lpdfium -lbigint -ljavascript \
-lfxedit -Wl,--end-group -lfreetype -lfxedit -Wl,--end-group -lfreetype
} }
}
else {
DEFINES += "NO_PDF"
}
!CONFIG(no_opengl) { !CONFIG(no_opengl) {
LIBS += -lGLU LIBS += -lGLU

View File

@ -579,7 +579,7 @@ void ThumbnailCreator::create()
QLOG_WARN() << "Extracting cover: file not found " << _fileSource; QLOG_WARN() << "Extracting cover: file not found " << _fileSource;
return; return;
} }
#ifndef NO_PDF
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0) if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
{ {
#if defined Q_OS_MAC && defined USE_PDFKIT #if defined Q_OS_MAC && defined USE_PDFKIT
@ -632,7 +632,7 @@ void ThumbnailCreator::create()
#endif #endif
#else #else
QImage p = pdfComic->page(_coverPage-1)->renderToImage(72,72); QImage p = pdfComic->page(_coverPage-1)->renderToImage(72,72);
#endif #endif //
_cover = p; _cover = p;
if(_target!="") if(_target!="")
{ {
@ -656,9 +656,9 @@ void ThumbnailCreator::create()
} }
delete pdfComic; delete pdfComic;
} }
return;
} }
else #endif //NO_PDF
{
if(crash) if(crash)
{ {
@ -730,5 +730,4 @@ void ThumbnailCreator::create()
} }
} }
} }
}
} }

View File

@ -28,12 +28,20 @@ const QStringList Comic::imageExtensions = QStringList() << "*.jpg" << "*.jpeg"
const QStringList Comic::literalImageExtensions = QStringList() << "jpg" << "jpeg" << "png" << "gif" << "tiff" << "tif" << "bmp" << "webp"; const QStringList Comic::literalImageExtensions = QStringList() << "jpg" << "jpeg" << "png" << "gif" << "tiff" << "tif" << "bmp" << "webp";
#ifndef use_unarr #ifndef use_unarr
const QStringList Comic::comicExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.7z" << "*.cb7" << "*.arj" << "*.cbt"; const QStringList ComicArchiveExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.7z" << "*.cb7" << "*.arj" << "*.cbt";
const QStringList Comic::literalComicExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "7z" << "cb7" << "arj" << "cbt"; const QStringList LiteralComicArchiveExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "7z" << "cb7" << "arj" << "cbt";
#else #else
const QStringList Comic::comicExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.cbt"; const QStringList ComicArchiveExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.cbt";
const QStringList Comic::literalComicExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "cbt"; const QStringList LiteralComicArchiveExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "cbt";
#endif #endif //use_unarr
#ifndef NO_PDF
const QStringList Comic::comicExtensions = QStringList() << ComicArchiveExtensions << "*.pdf";
const QStringList Comic::literalComicExtensions = QStringList() << LiteralComicArchiveExtensions << "pdf";
#else
const QStringList Comic::comicExtensions = QStringList() << ComicArchiveExtensions << "*.pdf";
const QStringList Comic::literalComicExtensions = QStringList() << LiteralComicArchiveExtensions << "pdf";
#endif //NO_PDF
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
Comic::Comic() Comic::Comic()
:_pages(),_index(0),_path(),_loaded(false),bm(new Bookmarks()),_loadedPages(),_isPDF(false) :_pages(),_index(0),_path(),_loaded(false),bm(new Bookmarks()),_loadedPages(),_isPDF(false)
@ -701,6 +709,8 @@ void FolderComic::process()
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
#ifndef NO_PDF
PDFComic::PDFComic() PDFComic::PDFComic()
:Comic() :Comic()
{ {
@ -872,6 +882,8 @@ void PDFComic::renderPage(int page)
} }
} }
#endif //NO_PDF
Comic * FactoryComic::newComic(const QString & path) Comic * FactoryComic::newComic(const QString & path)
{ {
@ -880,6 +892,7 @@ Comic * FactoryComic::newComic(const QString & path)
{ {
if(fi.isFile()) if(fi.isFile())
{ {
#ifndef NO_PDF
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0) if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
{ {
return new PDFComic(); return new PDFComic();
@ -888,6 +901,9 @@ Comic * FactoryComic::newComic(const QString & path)
{ {
return new FileComic(); return new FileComic();
} }
#else
return new FileComic();
#endif
} }
else else
{ {

View File

@ -8,8 +8,9 @@
#include "extract_delegate.h" #include "extract_delegate.h"
#include "bookmarks.h" #include "bookmarks.h"
#ifndef NO_PDF
#include "pdf_comic.h" #include "pdf_comic.h"
#endif //NO_PDF
class ComicDB; class ComicDB;
//#define EXTENSIONS << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp" Comic::getSupportedImageFormats() //#define EXTENSIONS << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp" Comic::getSupportedImageFormats()
//#define EXTENSIONS_LITERAL << ".jpg" << ".jpeg" << ".png" << ".gif" << ".tiff" << ".tif" << ".bmp" //Comic::getSupportedImageLiteralFormats() //#define EXTENSIONS_LITERAL << ".jpg" << ".jpeg" << ".png" << ".gif" << ".tiff" << ".tif" << ".bmp" //Comic::getSupportedImageLiteralFormats()
@ -149,6 +150,7 @@ class FolderComic : public Comic
void process(); void process();
}; };
#ifndef NO_PDF
class PDFComic : public Comic class PDFComic : public Comic
{ {
Q_OBJECT Q_OBJECT
@ -179,7 +181,7 @@ class PDFComic : public Comic
void process(); void process();
}; };
#endif //NO_PDF
class FactoryComic class FactoryComic
{ {
public: public:

View File

@ -1,6 +1,6 @@
#include "comic.h" #include "comic.h"
#include "pdf_comic.h" #include "pdf_comic.h"
#ifdef USE_PDFIUM #if defined USE_PDFIUM && !defined NO_PDF
PdfiumComic::PdfiumComic() PdfiumComic::PdfiumComic()
{ {
FPDF_InitLibrary(); FPDF_InitLibrary();

View File

@ -1,4 +1,4 @@
#ifndef PDF_COMIC_H #if !defined PDF_COMIC_H && !defined NO_PDF
#define PDF_COMIC_H #define PDF_COMIC_H
#include <QObject> #include <QObject>