From c962c6caf6a3bdaf2231e7a90da3df862c7ee104 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Wed, 24 Nov 2021 17:55:23 +0100 Subject: [PATCH] kimgio generator: Make kexiv2 dependency optional getting keviv2 to build on Android is hard (TM) --- generators/CMakeLists.txt | 4 +--- generators/kimgio/CMakeLists.txt | 9 +++++++-- generators/kimgio/generator_kimgio.cpp | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/generators/CMakeLists.txt b/generators/CMakeLists.txt index 0354f375f..0f988aa31 100644 --- a/generators/CMakeLists.txt +++ b/generators/CMakeLists.txt @@ -109,9 +109,7 @@ if(LIBSPECTRE_FOUND) add_subdirectory(spectre) endif(LIBSPECTRE_FOUND) -if(KF5KExiv2_FOUND) - add_subdirectory( kimgio ) -endif() +add_subdirectory( kimgio ) if(CHM_FOUND AND KF5KHtml_FOUND AND LIBZIP_FOUND) add_subdirectory( chm ) diff --git a/generators/kimgio/CMakeLists.txt b/generators/kimgio/CMakeLists.txt index 6919bad1a..77009a0a3 100644 --- a/generators/kimgio/CMakeLists.txt +++ b/generators/kimgio/CMakeLists.txt @@ -4,9 +4,14 @@ add_definitions(-DTRANSLATION_DOMAIN="okular_kimgio") ########### next target ############### okular_add_generator(okularGenerator_kimgio generator_kimgio.cpp) -target_link_libraries(okularGenerator_kimgio okularcore KF5::KExiv2 KF5::I18n) +target_link_libraries(okularGenerator_kimgio okularcore KF5::I18n) -if(BUILD_TESTING AND BUILD_DESKTOP) +if(KF5KExiv2_FOUND) + target_compile_definitions(okularGenerator_kimgio PRIVATE -DWITH_KEXIV=1) + target_link_libraries(okularGenerator_kimgio KF5::KExiv2) +endif() + +if(BUILD_TESTING AND BUILD_DESKTOP AND KF5KExiv2_FOUND) add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" ) set( kimgiotest_SRCS tests/kimgiotest.cpp ${CMAKE_SOURCE_DIR}/part/pagepainter.cpp ${CMAKE_SOURCE_DIR}/part/guiutils.cpp ${CMAKE_SOURCE_DIR}/part/debug_ui.cpp ) ecm_add_test(${kimgiotest_SRCS} TEST_NAME "kimgiotest" LINK_LIBRARIES okularcore okularpart Qt5::Svg Qt5::Test) diff --git a/generators/kimgio/generator_kimgio.cpp b/generators/kimgio/generator_kimgio.cpp index 7ffa7e3b6..342eb67d8 100644 --- a/generators/kimgio/generator_kimgio.cpp +++ b/generators/kimgio/generator_kimgio.cpp @@ -25,7 +25,9 @@ #include #include +#ifdef WITH_KEXIV #include +#endif #include @@ -81,11 +83,13 @@ bool KIMGIOGenerator::loadDocumentInternal(const QByteArray &fileData, const QSt auto mime = db.mimeTypeForFileNameAndData(fileName, fileData); docInfo.set(Okular::DocumentInfo::MimeType, mime.name()); +#ifdef WITH_KEXIV // Apply transformations dictated by Exif metadata KExiv2Iface::KExiv2 exifMetadata; if (exifMetadata.loadFromData(fileData)) { exifMetadata.rotateExifQImage(m_img, exifMetadata.getImageOrientation()); } +#endif pagesVector.resize(1);