OSDN Git Service

generic: prepare for Katie changes
[kde/kde-extraapps.git] / okular / CMakeLists.txt
index 3ce7c7c..a5149dd 100644 (file)
@@ -1,9 +1,11 @@
 project(okular)
 
 if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
-    find_package(KDE4 4.21.0 REQUIRED)
-    include(KDE4Defaults)
     include(GenerateExportHeader)
+    include(FeatureSummary)
+
+    find_package(KDE4 4.22.0 REQUIRED)
+    include(KDE4Defaults)
     include_directories(${KDE4_INCLUDES})
     add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
 endif()
@@ -13,53 +15,45 @@ include_directories(
    ${CMAKE_CURRENT_BINARY_DIR}
 )
 
-macro_optional_find_package(PopplerQt4 0.28.0)
-set_package_properties(PopplerQt4 PROPERTIES
+kde4_optional_find_package(Poppler)
+set_package_properties(Poppler PROPERTIES
     DESCRIPTION "A PDF rendering library"
-    URL "http://poppler.freedesktop.org"
+    URL "https://poppler.freedesktop.org"
     PURPOSE "Support for PDF files in Okular"
 )
 
-macro_optional_find_package(LibSpectre 0.2)
+kde4_optional_find_package(LibSpectre 0.2)
 set_package_properties(LibSpectre PROPERTIES
     DESCRIPTION "A PostScript rendering library"
     URL "http://libspectre.freedesktop.org/wiki/"
     PURPOSE "Support for PS files in Okular"
 )
 
-macro_optional_find_package(DjVuLibre 3.5.17)
+kde4_optional_find_package(DjVuLibre 3.5.17)
 set_package_properties(DjVuLibre PROPERTIES
     DESCRIPTION "A library for dealing with DjVu formatted files"
     URL "http://djvulibre.djvuzone.org"
     PURPOSE "Support for DjVu files in Okular"
 )
 
-macro_optional_find_package(Freetype)
+kde4_optional_find_package(Freetype)
 set_package_properties(Freetype PROPERTIES
     DESCRIPTION "A font rendering engine"
     URL "http://www.freetype.org"
     PURPOSE "Provides freetype font support in the Okular DVI generator"
 )
 
-macro_optional_find_package(ZLIB)
-set_package_properties(ZLIB PROPERTIES
-    DESCRIPTION "General purpose data compression library"
-    URL "http://www.zlib.net"
-    PURPOSE "Support for PDF files in Okular"
-)
-
-macro_optional_find_package(EPub)
+kde4_optional_find_package(EPub)
 set_package_properties(EPub PROPERTIES
     DESCRIPTION "A library for reading EPub documents"
     URL "http://sourceforge.net/projects/ebook-tools"
     PURPOSE "Support for EPub documents in Okular"
 )
 
-# v1.5.0+ required for gcry_kdf_derive()
-macro_optional_find_package(LibGcrypt 1.5.0)
-set_package_properties(LibGcrypt PROPERTIES
-    DESCRIPTION "General purpose cryptographic library based on the code from GnuPG"
-    URL "https://gnupg.org/gcrypt/"
+kde4_optional_find_package(OpenSSL)
+set_package_properties(OpenSSL PROPERTIES
+    DESCRIPTION "Robust, commercial-grade, full-featured toolkit for general-purpose cryptography and secure communication"
+    URL "https://www.openssl.org/"
     PURPOSE "Support encrypted Open Document in Okular"
 )
 
@@ -69,12 +63,42 @@ add_feature_info(okular_gs
     "PostScript support in Okular"
 )
 
+find_program(PS2PDF_EXECUTABLE NAMES ps2pdf)
+add_feature_info(okular_ps2pdf
+    PS2PDF_EXECUTABLE
+    "PostScript support in Okular"
+)
+
+find_program(LATEX_EXECUTABLE NAMES latex)
+add_feature_info(okular_latex
+    LATEX_EXECUTABLE
+    "LaTeX support in Okular"
+)
+
 find_program(KPSEWHICH_EXECUTABLE NAMES kpsewhich)
 add_feature_info(okular_kpsewhich
     KPSEWHICH_EXECUTABLE
     "DVI support in Okular"
 )
 
+find_program(DVIPNG_EXECUTABLE NAMES dvipng)
+add_feature_info(okular_dvipng
+    DVIPNG_EXECUTABLE
+    "DVI support in Okular"
+)
+
+option(
+    OKULAR_FORCE_DRM
+    "Forces okular to check for DRM to decide if you can copy/print protected pdf. (default=no)"
+    OFF
+)
+kde4_bool_to_01(OKULAR_FORCE_DRM _OKULAR_FORCE_DRM)
+
+configure_file(
+   ${CMAKE_CURRENT_SOURCE_DIR}/config-okular.h.cmake
+   ${CMAKE_CURRENT_BINARY_DIR}/config-okular.h
+)
+
 add_subdirectory( ui )
 add_subdirectory( shell )
 add_subdirectory( generators )
@@ -83,8 +107,6 @@ if(ENABLE_TESTING)
     add_subdirectory( tests )
 endif()
 
-include(OkularConfigureChecks.cmake)
-
 set(MATH_LIB m)
 
 # okularcore
@@ -118,7 +140,6 @@ set(okularcore_SRCS
     core/tilesmanager.cpp
     core/utils.cpp
     core/view.cpp
-    core/fileprinter.cpp
     core/chooseenginewidget.ui
     core/textdocumentsettings.ui
 )
@@ -169,6 +190,7 @@ add_library(okularcore SHARED ${okularcore_SRCS})
 
 target_link_libraries(okularcore
     ${KDE4_KIO_LIBS}
+    ${KDE4_KARCHIVE_LIBS}
     ${MATH_LIB}
     KDE4::kmediaplayer
 )
@@ -209,7 +231,6 @@ set(okularpart_SRCS
     ui/annotationtools.cpp
     ui/annotationwidgets.cpp
     ui/bookmarklist.cpp
-    ui/fileprinterpreview.cpp
     ui/findbar.cpp
     ui/formwidgets.cpp
     ui/guiutils.cpp
@@ -247,15 +268,15 @@ set(okularpart_SRCS
 
 kde4_add_kcfg_files(okularpart_SRCS ${PROJECT_SOURCE_DIR}/conf/settings.kcfgc )
 
-qt4_add_dbus_interfaces(okularpart_SRCS ${KDE4_DBUS_INTERFACES_INSTALL_DIR}/org.kde.KSpeech.xml)
-
 kde4_add_plugin(okularpart ${okularpart_SRCS})
 
 target_link_libraries(okularpart
     ${KDE4_KPARTS_LIBS}
-    ${KDE4_SOLID_LIBS}
     ${KDE4_KPASSWDSTORE_LIBS}
+    ${KDE4_KSPEECH_LIBS}
+    ${KDE4_KARCHIVE_LIBS}
     ${QT_QTGUI_LIBRARY}
+    ${QT_QTDBUS_LIBRARY}
     ${MATH_LIB}
     okularcore
 )
@@ -269,3 +290,7 @@ install(TARGETS okularpart DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
 
 install(FILES okular_part.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
 install(FILES part.rc part-viewermode.rc DESTINATION ${KDE4_DATA_INSTALL_DIR}/okular)
+
+if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
+    feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()