diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,13 @@ set(REQUIRED_QT_VERSION 5.6.0) find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Xml) -find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS I18n Archive) + +find_package(KF5 ${KF5_DEP_VERSION} COMPONENTS Archive) +set_package_properties(KF5Archive PROPERTIES DESCRIPTION "KDE Frameworks 5: Archive Framework" + URL "https://download.kde.org/stable/frameworks/" TYPE OPTIONAL + PURPOSE "Archive is needed to build ODF and OOXML 2007 extractors") + +find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS I18n) find_package(PopplerQt5 0.12.1) set_package_properties(PopplerQt5 PROPERTIES DESCRIPTION "A PDF rendering library" diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -18,15 +18,19 @@ # # Office # -ecm_add_test(odfextractortest.cpp ../src/extractors/odfextractor.cpp - TEST_NAME "odfextractortest" - LINK_LIBRARIES Qt5::Test Qt5::Xml KF5::FileMetaData KF5::Archive -) +if(KF5Archive_FOUND) + ecm_add_test(odfextractortest.cpp ../src/extractors/odfextractor.cpp + TEST_NAME "odfextractortest" + LINK_LIBRARIES Qt5::Test Qt5::Xml KF5::FileMetaData KF5::Archive + ) +endif() -ecm_add_test(office2007extractortest.cpp ../src/extractors/office2007extractor.cpp - TEST_NAME "officeextractortest" - LINK_LIBRARIES Qt5::Test Qt5::Xml KF5::FileMetaData KF5::Archive -) +if(KF5Archive_FOUND) + ecm_add_test(office2007extractortest.cpp ../src/extractors/office2007extractor.cpp + TEST_NAME "officeextractortest" + LINK_LIBRARIES Qt5::Test Qt5::Xml KF5::FileMetaData KF5::Archive + ) +endif() # # Poppler diff --git a/src/extractors/CMakeLists.txt b/src/extractors/CMakeLists.txt --- a/src/extractors/CMakeLists.txt +++ b/src/extractors/CMakeLists.txt @@ -109,35 +109,39 @@ # ODF # -add_library(kfilemetadata_odfextractor MODULE odfextractor.cpp) +if(KF5Archive_FOUND) + add_library(kfilemetadata_odfextractor MODULE odfextractor.cpp) -target_link_libraries(kfilemetadata_odfextractor - KF5::FileMetaData - Qt5::Core - Qt5::Xml - KF5::Archive -) + target_link_libraries(kfilemetadata_odfextractor + KF5::FileMetaData + Qt5::Core + Qt5::Xml + KF5::Archive + ) -install( -TARGETS kfilemetadata_odfextractor -DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata) + install( + TARGETS kfilemetadata_odfextractor + DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata) +endif() # # Office 2007 # -add_library(kfilemetadata_office2007extractor MODULE office2007extractor.cpp) +if(KF5Archive_FOUND) + add_library(kfilemetadata_office2007extractor MODULE office2007extractor.cpp) -target_link_libraries(kfilemetadata_office2007extractor - KF5::FileMetaData - Qt5::Core - Qt5::Xml - KF5::Archive -) + target_link_libraries(kfilemetadata_office2007extractor + KF5::FileMetaData + Qt5::Core + Qt5::Xml + KF5::Archive + ) -install( -TARGETS kfilemetadata_office2007extractor -DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata) + install( + TARGETS kfilemetadata_office2007extractor + DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata) +endif() # # Office (binary formats)