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

View File

@ -46,11 +46,12 @@ win32 {
}
unix:!macx{
!CONFIG(pdfium) {
!CONFIG(no_pdf){
!CONFIG(pdfium){
INCLUDEPATH += /usr/include/poppler/qt5
LIBS += -L/usr/lib -lpoppler-qt5
}
else {
} else {
#static pdfium libraries have to be included *before* dynamic libraries
DEFINES += "USE_PDFIUM"
INCLUDEPATH += /usr/include/pdfium
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 \
-lfxedit -Wl,--end-group -lfreetype
}
}
else {
DEFINES += "NO_PDF"
}
!CONFIG(no_opengl) {
LIBS += -lGLU

View File

@ -579,7 +579,7 @@ void ThumbnailCreator::create()
QLOG_WARN() << "Extracting cover: file not found " << _fileSource;
return;
}
#ifndef NO_PDF
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
{
#if defined Q_OS_MAC && defined USE_PDFKIT
@ -632,7 +632,7 @@ void ThumbnailCreator::create()
#endif
#else
QImage p = pdfComic->page(_coverPage-1)->renderToImage(72,72);
#endif
#endif //
_cover = p;
if(_target!="")
{
@ -656,9 +656,9 @@ void ThumbnailCreator::create()
}
delete pdfComic;
}
return;
}
else
{
#endif //NO_PDF
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";
#ifndef use_unarr
const QStringList Comic::comicExtensions = 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 ComicArchiveExtensions = 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
const QStringList Comic::comicExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.cbt";
const QStringList Comic::literalComicExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "cbt";
#endif
const QStringList ComicArchiveExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.cbt";
const QStringList LiteralComicArchiveExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "cbt";
#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()
:_pages(),_index(0),_path(),_loaded(false),bm(new Bookmarks()),_loadedPages(),_isPDF(false)
@ -701,6 +709,8 @@ void FolderComic::process()
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#ifndef NO_PDF
PDFComic::PDFComic()
:Comic()
{
@ -872,6 +882,8 @@ void PDFComic::renderPage(int page)
}
}
#endif //NO_PDF
Comic * FactoryComic::newComic(const QString & path)
{
@ -880,6 +892,7 @@ Comic * FactoryComic::newComic(const QString & path)
{
if(fi.isFile())
{
#ifndef NO_PDF
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
{
return new PDFComic();
@ -888,6 +901,9 @@ Comic * FactoryComic::newComic(const QString & path)
{
return new FileComic();
}
#else
return new FileComic();
#endif
}
else
{

View File

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

View File

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

View File

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