OSDN Git Service

okular: remove mobipocket generator
[kde/kde-extraapps.git] / okular / CMakeLists.txt
1 project(okular)
2
3 if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
4     find_package(KDE4 4.21.0 REQUIRED)
5     include(KDE4Defaults)
6     include(GenerateExportHeader)
7     include_directories(${KDE4_INCLUDES})
8     add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
9 endif()
10
11 include_directories(
12    ${CMAKE_CURRENT_SOURCE_DIR}
13    ${CMAKE_CURRENT_BINARY_DIR}
14 )
15
16 macro_optional_find_package(PopplerQt4 0.28.0)
17 set_package_properties(PopplerQt4 PROPERTIES
18     DESCRIPTION "A PDF rendering library"
19     URL "http://poppler.freedesktop.org"
20     PURPOSE "Support for PDF files in Okular"
21 )
22
23 macro_optional_find_package(LibSpectre 0.2)
24 set_package_properties(LibSpectre PROPERTIES
25     DESCRIPTION "A PostScript rendering library"
26     URL "http://libspectre.freedesktop.org/wiki/"
27     PURPOSE "Support for PS files in Okular"
28 )
29
30 macro_optional_find_package(DjVuLibre 3.5.17)
31 set_package_properties(DjVuLibre PROPERTIES
32     DESCRIPTION "A library for dealing with DjVu formatted files"
33     URL "http://djvulibre.djvuzone.org"
34     PURPOSE "Support for DjVu files in Okular"
35 )
36
37 macro_optional_find_package(Freetype)
38 set_package_properties(Freetype PROPERTIES
39     DESCRIPTION "A font rendering engine"
40     URL "http://www.freetype.org"
41     PURPOSE "Provides freetype font support in the Okular DVI generator"
42 )
43
44 macro_optional_find_package(JPEG)
45 set_package_properties(JPEG PROPERTIES
46     DESCRIPTION "A library for reading and writing JPEG image files"
47     URL "http://www.ijg.org"
48     PURPOSE "Support fof PalmDB documents in Okular"
49 )
50
51 macro_optional_find_package(ZLIB)
52 set_package_properties(ZLIB PROPERTIES
53     DESCRIPTION "General purpose data compression library"
54     URL "http://www.zlib.net"
55     PURPOSE "Support for Plucker files in Okular"
56 )
57
58 macro_optional_find_package(EPub)
59 set_package_properties(EPub PROPERTIES
60     DESCRIPTION "A library for reading EPub documents"
61     URL "http://sourceforge.net/projects/ebook-tools"
62     PURPOSE "Support for EPub documents in Okular"
63 )
64
65 # v1.5.0+ required for gcry_kdf_derive()
66 macro_optional_find_package(LibGcrypt 1.5.0)
67 set_package_properties(LibGcrypt PROPERTIES
68     DESCRIPTION "General purpose cryptographic library based on the code from GnuPG"
69     URL "https://gnupg.org/gcrypt/"
70     PURPOSE "Support encrypted Open Document in Okular"
71 )
72
73 find_program(GHOSTSCRIPT_EXECUTABLE NAMES gs)
74 add_feature_info(okular_gs
75     GHOSTSCRIPT_EXECUTABLE
76     "PostScript support in Okular"
77 )
78
79 add_subdirectory( ui )
80 add_subdirectory( shell )
81 add_subdirectory( generators )
82
83 if(ENABLE_TESTING)
84     add_subdirectory( tests )
85 endif()
86
87 include(OkularConfigureChecks.cmake)
88
89 set(MATH_LIB m)
90
91 # okularcore
92
93 set(okularcore_SRCS
94     core/action.cpp
95     core/annotations.cpp
96     core/area.cpp
97     core/audioplayer.cpp
98     core/bookmarkmanager.cpp
99     core/chooseenginedialog.cpp
100     core/document.cpp
101     core/documentcommands.cpp
102     core/fontinfo.cpp
103     core/form.cpp
104     core/generator.cpp
105     core/generator_p.cpp
106     core/misc.cpp
107     core/movie.cpp
108     core/observer.cpp
109     core/page.cpp
110     core/pagecontroller.cpp
111     core/pagesize.cpp
112     core/pagetransition.cpp
113     core/rotationjob.cpp
114     core/sound.cpp
115     core/sourcereference.cpp
116     core/textdocumentgenerator.cpp
117     core/textdocumentsettings.cpp
118     core/textpage.cpp
119     core/tilesmanager.cpp
120     core/utils.cpp
121     core/view.cpp
122     core/fileprinter.cpp
123     core/chooseenginewidget.ui
124     core/textdocumentsettings.ui
125 )
126
127 install(
128     FILES
129     core/action.h
130     core/annotations.h
131     core/area.h
132     core/document.h
133     core/fontinfo.h
134     core/form.h
135     core/generator.h
136     core/global.h
137     core/page.h
138     core/pagesize.h
139     core/pagetransition.h
140     core/sound.h
141     core/sourcereference.h
142     core/textdocumentgenerator.h
143     core/textdocumentsettings.h
144     core/textpage.h
145     core/tile.h
146     core/utils.h
147     core/version.h
148     core/fileprinter.h
149     core/observer.h
150     ${CMAKE_CURRENT_BINARY_DIR}/settings_core.h
151     ${CMAKE_CURRENT_BINARY_DIR}/okular_export.h
152     DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/okular/core
153     COMPONENT Devel
154 )
155
156 install(
157     FILES
158     interfaces/configinterface.h
159     interfaces/guiinterface.h
160     interfaces/printinterface.h
161     interfaces/saveinterface.h
162     interfaces/viewerinterface.h
163     DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/okular/interfaces
164     COMPONENT Devel
165 )
166
167 kde4_add_kcfg_files(okularcore_SRCS ${PROJECT_SOURCE_DIR}/conf/settings_core.kcfgc )
168
169 add_library(okularcore SHARED ${okularcore_SRCS})
170
171 target_link_libraries(okularcore
172     ${KDE4_KIO_LIBS}
173     ${MATH_LIB}
174     KDE4::kmediaplayer
175 )
176
177 set_target_properties(okularcore PROPERTIES
178     VERSION ${GENERIC_LIB_VERSION}
179     SOVERSION ${GENERIC_LIB_SOVERSION}
180 )
181
182 generate_export_header(okularcore BASE_NAME okular)
183
184 install(TARGETS okularcore ${INSTALL_TARGETS_DEFAULT_ARGS} )
185
186 install(FILES conf/okular.kcfg DESTINATION ${KDE4_KCFG_INSTALL_DIR})
187 install(FILES conf/okular_core.kcfg DESTINATION ${KDE4_KCFG_INSTALL_DIR})
188 install(FILES core/okularGenerator.desktop DESTINATION ${KDE4_SERVICETYPES_INSTALL_DIR})
189
190 # okularpart
191
192 set(okularpart_SRCS
193     part.cpp
194     extensions.cpp
195     conf/preferencesdialog.cpp
196     conf/dlgaccessibility.cpp
197     conf/dlgdebug.cpp
198     conf/dlgeditor.cpp
199     conf/dlggeneral.cpp
200     conf/dlgannotations.cpp
201     conf/dlgperformance.cpp
202     conf/dlgpresentation.cpp
203     conf/widgetannottools.cpp
204     ui/embeddedfilesdialog.cpp
205     ui/annotwindow.cpp
206     ui/annotationmodel.cpp
207     ui/annotationpopup.cpp
208     ui/annotationpropertiesdialog.cpp
209     ui/annotationproxymodels.cpp
210     ui/annotationtools.cpp
211     ui/annotationwidgets.cpp
212     ui/bookmarklist.cpp
213     ui/fileprinterpreview.cpp
214     ui/findbar.cpp
215     ui/formwidgets.cpp
216     ui/guiutils.cpp
217     ui/ktreeviewsearchline.cpp
218     ui/latexrenderer.cpp
219     ui/minibar.cpp
220     ui/pageitemdelegate.cpp
221     ui/pagepainter.cpp
222     ui/pagesizelabel.cpp
223     ui/pageviewannotator.cpp
224     ui/pageview.cpp
225     ui/magnifierview.cpp
226     ui/pageviewutils.cpp
227     ui/presentationsearchbar.cpp
228     ui/presentationwidget.cpp
229     ui/propertiesdialog.cpp
230     ui/searchlineedit.cpp
231     ui/searchwidget.cpp
232     ui/sidebar.cpp
233     ui/side_reviews.cpp
234     ui/snapshottaker.cpp
235     ui/thumbnaillist.cpp
236     ui/toc.cpp
237     ui/tocmodel.cpp
238     ui/toolaction.cpp
239     ui/tts.cpp
240     ui/videowidget.cpp
241     conf/dlgaccessibilitybase.ui
242     conf/dlgeditorbase.ui
243     conf/dlggeneralbase.ui
244     conf/dlgannotationsbase.ui
245     conf/dlgperformancebase.ui
246     conf/dlgpresentationbase.ui
247 )
248
249 kde4_add_kcfg_files(okularpart_SRCS ${PROJECT_SOURCE_DIR}/conf/settings.kcfgc )
250
251 qt4_add_dbus_interfaces(okularpart_SRCS ${KDE4_DBUS_INTERFACES_INSTALL_DIR}/org.kde.KSpeech.xml)
252
253 kde4_add_plugin(okularpart ${okularpart_SRCS})
254
255 target_link_libraries(okularpart
256     ${KDE4_KPARTS_LIBS}
257     ${KDE4_SOLID_LIBS}
258     ${QT_QTGUI_LIBRARY}
259     ${MATH_LIB}
260     okularcore
261 )
262
263 generate_export_header(okularpart)
264
265 install(TARGETS okularpart DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
266
267
268 ########### install files ###############
269
270 install(FILES okular_part.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
271 install(FILES part.rc part-viewermode.rc DESTINATION ${KDE4_DATA_INSTALL_DIR}/okular)