CMakeLists.txt 17.9 KB
Newer Older
1
2
project(poppler)

3
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
4
5
6
7
8
9
10
11
12

set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)

include(PopplerDefaults)
include(PopplerMacros)
include(MacroOptionalFindPackage)
find_package(PkgConfig)
include(MacroEnsureVersion)
include(MacroBoolTo01)
13
find_package(Threads)
14
15
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
16

17
set(POPPLER_MAJOR_VERSION "0")
18
19
set(POPPLER_MINOR_VERSION "16")
set(POPPLER_MICRO_VERSION "0")
20
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
21
22
23
24
25

# command line switches
option(ENABLE_XPDF_HEADERS "Install unsupported xpdf headers." OFF)
option(BUILD_GTK_TESTS "Whether compile the GTK+ test programs." ON)
option(BUILD_QT4_TESTS "Whether compile the Qt4 test programs." ON)
26
option(BUILD_CPP_TESTS "Whether compile the CPP test programs." ON)
27
28
option(ENABLE_SPLASH "Build the Splash graphics backend." ON)
option(ENABLE_UTILS "Compile poppler command line utils." ON)
29
option(ENABLE_CPP "Compile poppler cpp wrapper." ON)
30
option(ENABLE_ABIWORD "Build the Abiword backend." ON)
31
option(ENABLE_LIBOPENJPEG "Use libopenjpeg for JPX streams." ON)
32
option(ENABLE_LCMS "Use liblcms for color management." ON)
Hib Eris's avatar
Hib Eris committed
33
option(ENABLE_LIBCURL "Build libcurl based HTTP support." OFF)
34
option(ENABLE_ZLIB "Build with zlib (not totally safe)." OFF)
35
36
option(USE_FIXEDPOINT "Use fixed point arithmetic in the Splash backend" OFF)
option(USE_FLOAT "Use single precision arithmetic in the Splash backend" OFF)
37
38
39
40
41
if(WIN32)
  option(ENABLE_RELOCATABLE "Hardcode the poppler library location (on Windows)." ON)
else(WIN32)
  set(ENABLE_RELOCATABLE OFF)
endif(WIN32)
42

43
44
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")

45
46
47
48
49
50
51
if(WIN32)
  set(_default_fontconfiguration "win32")
else(WIN32)
  set(_default_fontconfiguration "fontconfig")
endif(WIN32)
set(FONT_CONFIGURATION "${_default_fontconfiguration}" CACHE STRING "The font configuration backend (win32|fontconfig).")
string(TOLOWER "${FONT_CONFIGURATION}" font_configuration)
52
53
set(WITH_FONTCONFIGURATION_WIN32 OFF)
set(WITH_FONTCONFIGURATION_FONTCONFIG OFF)
54
55
56
57
58
59
60
61
if(font_configuration STREQUAL "win32")
  set(WITH_FONTCONFIGURATION_WIN32 ON)
elseif(font_configuration STREQUAL "fontconfig")
  set(WITH_FONTCONFIGURATION_FONTCONFIG ON)
else(font_configuration STREQUAL "win32")
  message(FATAL_ERROR "Invalid font configuration setting: ${FONT_CONFIGURATION}")
endif(font_configuration STREQUAL "win32")

62
# Enable these unconditionally.
63
set(MULTITHREADED ON)
64
65
66
67
set(OPI_SUPPORT ON)
set(TEXTOUT_WORD_LIST ON)

# setting the minimum required versions for some components
Albert Astals Cid's avatar
Albert Astals Cid committed
68
set(QT4_MIN_VERSION "4.4.0")
69
set(CAIRO_VERSION "1.10.0")
70
set(GLIB_REQUIRED "2.18")
71
72
73

macro_bool_to_01(ENABLE_SPLASH HAVE_SPLASH)
find_package(Freetype REQUIRED)
74
75
76
if(WITH_FONTCONFIGURATION_FONTCONFIG)
  find_package(Fontconfig REQUIRED)
endif(WITH_FONTCONFIGURATION_FONTCONFIG)
77
macro_optional_find_package(JPEG)
Albert Astals Cid's avatar
Albert Astals Cid committed
78
macro_optional_find_package(PNG)
79
macro_optional_find_package(TIFF)
80
if(JPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
81
  set(ENABLE_LIBJPEG ${JPEG_FOUND})
82
83
endif(JPEG_FOUND)
macro_optional_find_package(Qt4)
84
85
macro_optional_find_package(Cairo ${CAIRO_VERSION})
if(CAIRO_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
86
  set(HAVE_CAIRO ${CAIRO_FOUND})
87
88
  set(CAIRO_FEATURE "#define POPPLER_HAS_CAIRO 1")
  set(CAIRO_REQ "cairo")
89
90
  set(POPPLER_GLIB_DISABLE_DEPRECATED "")
  set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "")
91
  macro_optional_find_package(GLIB)
92
  if(GLIB_FOUND)
93
    set(ENABLE_GLIB ON)
94
    # Check for introspection
95
    macro_optional_find_package(GObjectIntrospection 0.9.12)
96
    set(HAVE_INTROSPECTION ${INTROSPECTION_FOUND})
97
    set(GLIB_REQ "glib-2.0 >= ${GLIB_REQUIRED} gobject-2.0 >= ${GLIB_REQUIRED} cairo >= ${CAIRO_VERSION}")
98
99
    set(POPPLER_GLIB_DISABLE_DEPRECATED "${POPPLER_GLIB_DISABLE_DEPRECATED} -DG_DISABLE_DEPRECATED")
    set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "${POPPLER_GLIB_DISABLE_SINGLE_INCLUDES} -DG_DISABLE_SINGLE_INCLUDES")
100
101
    macro_optional_find_package(GDK)
    macro_optional_find_package(GTK)
102
103
104
105
    if(GDK_FOUND)
      set(GDK_REQ "gdk-2.0 gdk-pixbuf-2.0")
      set(POPPLER_WITH_GDK ${GDK_FOUND})
      set(GDK_FEATURE "#define POPPLER_WITH_GDK 1")
106
107
      set(POPPLER_GLIB_DISABLE_DEPRECATED "${POPPLER_GLIB_DISABLE_DEPRECATED} -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED")
      set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "${POPPLER_GLIB_DISABLE_SINGLE_INCLUDES} -DGTK_DISABLE_SINGLE_INCLUDES")
108
    endif(GDK_FOUND)
109
110
111
112
  endif(GLIB_FOUND)
else(CAIRO_FOUND)
  set(CAIRO_FEATURE "#undef POPPLER_HAS_CAIRO")
endif(CAIRO_FOUND)
113
114
115
116
117
if(ENABLE_CPP)
  macro_optional_find_package(Iconv)
  set(ENABLE_CPP ${ICONV_FOUND})
  set(HAVE_ICONV ${ICONV_FOUND})
endif(ENABLE_CPP)
118
119
120
if(ENABLE_ZLIB)
  find_package(ZLIB)
  if(ZLIB_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
121
    set(HAVE_LIBZ ${ZLIB_FOUND})
122
123
124
125
126
127
128
  endif(ZLIB_FOUND)
  set(ENABLE_ZLIB ${ZLIB_FOUND})
endif(ENABLE_ZLIB)
if(ENABLE_ABIWORD)
  find_package(LibXml2)
  set(ENABLE_ABIWORD ${LIBXML2_FOUND})
endif(ENABLE_ABIWORD)
129
130
131
if(ENABLE_LIBOPENJPEG)
  find_package(LIBOPENJPEG)
  set(ENABLE_LIBOPENJPEG ${LIBOPENJPEG_FOUND})
132
  set(HAVE_OPENJPEG_H ON)
133
endif(ENABLE_LIBOPENJPEG)
134
135
136
137
if(ENABLE_LCMS)
  find_package(LCMS)
  set(USE_CMS ${LCMS_FOUND})
endif(ENABLE_LCMS)
Hib Eris's avatar
Hib Eris committed
138
139
140
141
142
if(ENABLE_LIBCURL)
  find_package(CURL)
  include_directories(${CURL_INCLUDE_DIR})
  set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
143

144
145
146
147
add_definitions(-DHAVE_CONFIG_H=1)
if(FONTCONFIG_FOUND)
  add_definitions(${FONTCONFIG_DEFINITIONS})
endif(FONTCONFIG_FOUND)
148
149
150
151
152
153
if(WITH_FONTCONFIGURATION_WIN32)
  if(MINGW)
    # Set the minimum required Internet Explorer version to 5.0
    add_definitions(-D_WIN32_IE=0x0500)
  endif(MINGW)
endif(WITH_FONTCONFIGURATION_WIN32)
154
155
156
157
158
159
160
include_directories(
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}/fofi
  ${CMAKE_CURRENT_SOURCE_DIR}/goo
  ${CMAKE_CURRENT_SOURCE_DIR}/poppler
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_BINARY_DIR}/poppler
161
  ${FREETYPE_INCLUDE_DIRS}
162
163
)
set(HAVE_FREETYPE_H ON)
164
165
166
if(CMAKE_USE_PTHREADS_INIT)
  set(HAVE_PTHREAD ON)
endif(CMAKE_USE_PTHREADS_INIT)
167
168
169
170
171
172
173
174

if(ENABLE_ZLIB)
  include_directories(${ZLIB_INCLUDE_DIR})
endif(ENABLE_ZLIB)
if(JPEG_FOUND)
  include_directories(${JPEG_INCLUDE_DIR})
  set(ENABLE_LIBJPEG ON)
endif(JPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
175
176
177
178
if(PNG_FOUND)
  include_directories(${PNG_INCLUDE_DIR})
  set(ENABLE_LIBPNG ON)
endif(PNG_FOUND)
179
180
181
182
if(TIFF_FOUND)
  include_directories(${TIFF_INCLUDE_DIR})
  set(ENABLE_LIBTIFF ON)
endif(TIFF_FOUND)
183
184
185
186
if(ENABLE_ABIWORD)
  include_directories(${LIBXML2_INCLUDE_DIR})
  add_definitions(${LIBXML2_DEFINITIONS})
endif(ENABLE_ABIWORD)
187
if(LIBOPENJPEG_FOUND)
188
  include_directories(${LIBOPENJPEG_INCLUDE_DIR})
189
endif(LIBOPENJPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
190
191
192
if(LCMS_FOUND)
  include_directories(${LCMS_INCLUDE_DIR})
endif(LCMS_FOUND)
193
194
195
196
197
198
199

if(DEFINED COMPILE_WARNINGS)
else(DEFINED COMPILE_WARNINGS)
  set(COMPILE_WARNINGS "yes")
endif(DEFINED COMPILE_WARNINGS)
string(TOLOWER "${COMPILE_WARNINGS}" _comp_warnings)
if(_comp_warnings STREQUAL "no")
200
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
201
202
endif(_comp_warnings STREQUAL "no")
if(_comp_warnings STREQUAL "yes")
203
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
204
205
206
207
208
209
210
211
endif(_comp_warnings STREQUAL "yes")
if(_comp_warnings STREQUAL "kde")
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_KDE} ${CMAKE_CXX_FLAGS}")
endif(_comp_warnings STREQUAL "kde")


include(ConfigureChecks.cmake)
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
212
configure_file(poppler/poppler-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h)
213
214
215
216
217
218
219
220
221
222
223


set(poppler_SRCS
  goo/gfile.cc
  goo/gmempp.cc
  goo/GooHash.cc
  goo/GooList.cc
  goo/GooTimer.cc
  goo/GooString.cc
  goo/gmem.cc
  goo/FixedPoint.cc
224
  goo/PNGWriter.cc
225
  goo/TiffWriter.cc
Albert Astals Cid's avatar
Albert Astals Cid committed
226
  goo/JpegWriter.cc
227
  goo/ImgWriter.cc
228
  goo/gstrtod.cc
229
230
231
232
233
234
235
236
237
  fofi/FoFiBase.cc
  fofi/FoFiEncodings.cc
  fofi/FoFiTrueType.cc
  fofi/FoFiType1.cc
  fofi/FoFiType1C.cc
  poppler/Annot.cc
  poppler/Array.cc
  poppler/BuiltinFont.cc
  poppler/BuiltinFontTables.cc
Hib Eris's avatar
Hib Eris committed
238
  poppler/CachedFile.cc
239
240
241
  poppler/Catalog.cc
  poppler/CharCodeToUnicode.cc
  poppler/CMap.cc
242
  poppler/DateInfo.cc
243
244
245
  poppler/Decrypt.cc
  poppler/Dict.cc
  poppler/Error.cc
246
  poppler/FileSpec.cc
247
248
249
250
251
252
253
254
  poppler/FontEncodingTables.cc
  poppler/Form.cc
  poppler/FontInfo.cc
  poppler/Function.cc
  poppler/Gfx.cc
  poppler/GfxFont.cc
  poppler/GfxState.cc
  poppler/GlobalParams.cc
Hib Eris's avatar
Hib Eris committed
255
  poppler/Hints.cc
256
257
258
259
  poppler/JArithmeticDecoder.cc
  poppler/JBIG2Stream.cc
  poppler/Lexer.cc
  poppler/Link.cc
Hib Eris's avatar
Hib Eris committed
260
  poppler/Linearization.cc
261
  poppler/LocalPDFDocBuilder.cc
262
263
  poppler/NameToCharCode.cc
  poppler/Object.cc
264
  poppler/OptionalContent.cc
265
266
267
268
269
270
271
  poppler/Outline.cc
  poppler/OutputDev.cc
  poppler/Page.cc
  poppler/PageTransition.cc
  poppler/Parser.cc
  poppler/PDFDoc.cc
  poppler/PDFDocEncoding.cc
Hib Eris's avatar
Hib Eris committed
272
  poppler/PDFDocFactory.cc
273
  poppler/PopplerCache.cc
274
275
276
277
  poppler/ProfileData.cc
  poppler/PreScanOutputDev.cc
  poppler/PSTokenizer.cc
  poppler/Stream.cc
278
  poppler/strtok_r.cpp
279
280
281
282
283
284
285
  poppler/UnicodeMap.cc
  poppler/UnicodeTypeTable.cc
  poppler/XRef.cc
  poppler/PSOutputDev.cc
  poppler/TextOutputDev.cc
  poppler/PageLabelInfo.cc
  poppler/SecurityHandler.cc
286
  poppler/StdinCachedFile.cc
287
  poppler/StdinPDFDocBuilder.cc
288
289
  poppler/Sound.cc
  poppler/XpdfPluginAPI.cc
Hugo Mercier's avatar
Hugo Mercier committed
290
  poppler/Movie.cc
291
  poppler/Rendition.cc
292
)
293
set(poppler_LIBS ${FREETYPE_LIBRARIES})
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
if(ENABLE_SPLASH)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/SplashOutputDev.cc
    splash/Splash.cc
    splash/SplashBitmap.cc
    splash/SplashClip.cc
    splash/SplashFTFont.cc
    splash/SplashFTFontEngine.cc
    splash/SplashFTFontFile.cc
    splash/SplashFont.cc
    splash/SplashFontEngine.cc
    splash/SplashFontFile.cc
    splash/SplashFontFileID.cc
    splash/SplashPath.cc
    splash/SplashPattern.cc
    splash/SplashScreen.cc
    splash/SplashState.cc
    splash/SplashT1Font.cc
    splash/SplashT1FontEngine.cc
    splash/SplashT1FontFile.cc
    splash/SplashXPath.cc
    splash/SplashXPathScanner.cc
  )
endif(ENABLE_SPLASH)
318
319
320
if(FONTCONFIG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
endif(FONTCONFIG_FOUND)
321
322
323
324
325
326
327
328
329
330
331
332
if(JPEG_FOUND)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/DCTStream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${JPEG_LIBRARIES})
endif(JPEG_FOUND)
if(ENABLE_ZLIB)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/FlateStream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${ZLIB_LIBRARIES})
endif(ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
333
334
335
if(ENABLE_LIBCURL)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/CurlCachedFile.cc
Hib Eris's avatar
Hib Eris committed
336
    poppler/CurlPDFDocBuilder.cc
Hib Eris's avatar
Hib Eris committed
337
338
339
  )
  set(poppler_LIBS ${poppler_LIBS} ${CURL_LIBRARIES})
endif(ENABLE_LIBCURL)
340
if(LIBOPENJPEG_FOUND)
341
342
343
344
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPEG2000Stream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG_LIBRARIES})
345
else (LIBOPENJPEG_FOUND)
346
347
348
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPXStream.cc
  )
349
endif(LIBOPENJPEG_FOUND)
350
351
352
if(USE_CMS)
  set(poppler_LIBS ${poppler_LIBS} ${LCMS_LIBRARIES})
endif(USE_CMS)
353
354
355
356
357
358
359
360
361
362
if(ENABLE_ABIWORD)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/ABWOutputDev.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${LIBXML2_LIBRARIES})
endif(ENABLE_ABIWORD)
if(WIN32)
  # gdi32 is needed under win32
  set(poppler_LIBS ${poppler_LIBS} gdi32)
endif(WIN32)
363
364
365
if(PNG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${PNG_LIBRARIES})
endif(PNG_FOUND)
366
367
368
if(TIFF_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${TIFF_LIBRARIES})
endif(TIFF_FOUND)
369

370
if(MSVC)
371
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
372
373
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
374
add_library(poppler SHARED ${poppler_SRCS})
375
endif(MSVC)
Albert Astals Cid's avatar
Albert Astals Cid committed
376
set_target_properties(poppler PROPERTIES VERSION 12.0.0 SOVERSION 12)
377
target_link_libraries(poppler ${poppler_LIBS})
378
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
379
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
380
381
382
383
384
385
386

if(ENABLE_XPDF_HEADERS)
  install(FILES
    poppler/Annot.h
    poppler/Array.h
    poppler/BuiltinFont.h
    poppler/BuiltinFontTables.h
Hib Eris's avatar
Hib Eris committed
387
    poppler/CachedFile.h
388
389
390
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
391
    poppler/DateInfo.h
392
393
394
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
395
    poppler/FileSpec.h
396
397
398
399
400
401
402
403
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
404
    poppler/GfxState_helpers.h
405
    poppler/GlobalParams.h
Hib Eris's avatar
Hib Eris committed
406
    poppler/Hints.h
407
408
409
410
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
Hib Eris's avatar
Hib Eris committed
411
    poppler/Linearization.h
412
    poppler/LocalPDFDocBuilder.h
413
    poppler/Movie.h
414
415
    poppler/NameToCharCode.h
    poppler/Object.h
416
    poppler/OptionalContent.h
417
418
419
420
421
422
    poppler/Outline.h
    poppler/OutputDev.h
    poppler/Page.h
    poppler/PageTransition.h
    poppler/Parser.h
    poppler/PDFDoc.h
Hib Eris's avatar
Hib Eris committed
423
    poppler/PDFDocBuilder.h
424
    poppler/PDFDocEncoding.h
Hib Eris's avatar
Hib Eris committed
425
    poppler/PDFDocFactory.h
Albert Astals Cid's avatar
Albert Astals Cid committed
426
    poppler/PopplerCache.h
427
428
429
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
430
    poppler/Rendition.h
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
    poppler/Stream-CCITT.h
    poppler/Stream.h
    poppler/UnicodeMap.h
    poppler/UnicodeMapTables.h
    poppler/UnicodeTypeTable.h
    poppler/UnicodeCClassTables.h
    poppler/UnicodeCompTables.h
    poppler/UnicodeDecompTables.h
    poppler/XRef.h
    poppler/CharTypes.h
    poppler/CompactFontTables.h
    poppler/ErrorCodes.h
    poppler/NameToUnicodeTable.h
    poppler/PSOutputDev.h
    poppler/TextOutputDev.h
    poppler/SecurityHandler.h
447
    poppler/StdinCachedFile.h
448
    poppler/StdinPDFDocBuilder.h
449
450
451
452
453
    poppler/UTF8.h
    poppler/XpdfPluginAPI.h
    poppler/Sound.h
    ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
    DESTINATION include/poppler)
454
455
456
457
458
459
460
461
462
463
  install(FILES
    goo/GooHash.h
    goo/GooList.h
    goo/GooTimer.h
    goo/GooMutex.h
    goo/GooString.h
    goo/gtypes.h
    goo/gmem.h
    goo/gfile.h
    goo/FixedPoint.h
Maciej Mrozowski's avatar
Maciej Mrozowski committed
464
    goo/ImgWriter.h
465
    goo/GooLikely.h
466
    goo/gstrtod.h
467
    DESTINATION include/poppler/goo)
Maciej Mrozowski's avatar
Maciej Mrozowski committed
468
469
470
471
472
  if(PNG_FOUND)
    install(FILES
      goo/PNGWriter.h
      DESTINATION include/poppler/goo)
  endif(PNG_FOUND)
473
474
475
476
477
  if(TIFF_FOUND)
    install(FILES
      goo/TiffWriter.h
      DESTINATION include/poppler/goo)
  endif(TIFF_FOUND)
478
479
480
481
482
483
484
  install(FILES
    fofi/FoFiBase.h
    fofi/FoFiEncodings.h
    fofi/FoFiTrueType.h
    fofi/FoFiType1.h
    fofi/FoFiType1C.h
    DESTINATION include/poppler/fofi)
Hib Eris's avatar
Hib Eris committed
485
486
487
  if(ENABLE_LIBCURL)
    install(FILES
      poppler/CurlCachedFile.h
Hib Eris's avatar
Hib Eris committed
488
      poppler/CurlPDFDocBuilder.h
Hib Eris's avatar
Hib Eris committed
489
490
      DESTINATION include/poppler)
  endif(ENABLE_LIBCURL)
491
  if(LIBOPENJPEG_FOUND)
492
493
494
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
Maciej Mrozowski's avatar
Maciej Mrozowski committed
495
496
497
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
498
  else(LIBOPENJPEG_FOUND)
499
500
501
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
502
  endif(LIBOPENJPEG_FOUND)
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
  if(ENABLE_SPLASH)
    install(FILES
      poppler/SplashOutputDev.h
      DESTINATION include/poppler)
    install(FILES
      splash/Splash.h
      splash/SplashBitmap.h
      splash/SplashClip.h
      splash/SplashErrorCodes.h
      splash/SplashFTFont.h
      splash/SplashFTFontEngine.h
      splash/SplashFTFontFile.h
      splash/SplashFont.h
      splash/SplashFontEngine.h
      splash/SplashFontFile.h
      splash/SplashFontFileID.h
      splash/SplashGlyphBitmap.h
      splash/SplashMath.h
      splash/SplashPath.h
      splash/SplashPattern.h
      splash/SplashScreen.h
      splash/SplashState.h
      splash/SplashT1Font.h
      splash/SplashT1FontEngine.h
      splash/SplashT1FontFile.h
      splash/SplashTypes.h
      splash/SplashXPath.h
      splash/SplashXPathScanner.h
      DESTINATION include/poppler/splash)
  endif(ENABLE_SPLASH)
endif(ENABLE_XPDF_HEADERS)


if(ENABLE_UTILS)
  add_subdirectory(utils)
endif(ENABLE_UTILS)
539
if(ENABLE_GLIB)
540
  add_subdirectory(glib)
541
endif(ENABLE_GLIB)
542
543
544
545
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
546
547
548
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
549
550

set(PKG_CONFIG_VERSION_0_18 TRUE)
551
552
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
553
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
554
endif(PKG_CONFIG_EXECUTABLE)
555
556
557
558
559
560
561
562
if(PKG_CONFIG_VERSION_0_18)
  set(PC_REQUIRES "")
  set(PC_REQUIRES_PRIVATE "Requires.private: poppler = ${POPPLER_VERSION}")
else(PKG_CONFIG_VERSION_0_18)
  set(PC_REQUIRES "poppler = ${POPPLER_VERSION}")
  set(PC_REQUIRES_PRIVATE "")
endif(PKG_CONFIG_VERSION_0_18)

563
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
564
if(ENABLE_SPLASH)
565
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
566
567
endif(ENABLE_SPLASH)
if(QT4_FOUND)
568
  poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
569
endif(QT4_FOUND)
570
if(ENABLE_GLIB)
571
  poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
572
endif(ENABLE_GLIB)
573
if(CAIRO_FOUND)
574
  poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
575
endif(CAIRO_FOUND)
Pino Toscano's avatar
Pino Toscano committed
576
577
578
if(ENABLE_CPP)
  poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
endif(ENABLE_CPP)
579
580
581


message("Building Poppler with support for:")
582
show_end_message("font configuration" ${font_configuration})
583
584
585
586
show_end_message_yesno("splash output" ENABLE_SPLASH)
show_end_message_yesno("cairo output" CAIRO_FOUND)
show_end_message_yesno("abiword output" ENABLE_ABIWORD)
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
587
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
588
show_end_message_yesno("  use GDK" POPPLER_WITH_GDK)
589
show_end_message_yesno("  introspection" INTROSPECTION_FOUND)
590
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
591
show_end_message("use gtk-doc" "not supported with this CMake build system")
592
593
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
594
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
595
show_end_message_yesno("use zlib" ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
596
show_end_message_yesno("use curl" ENABLE_LIBCURL)
597
598
599
show_end_message_yesno("use libopenjpeg" LIBOPENJPEG_FOUND)
show_end_message_yesno("use cms" USE_CMS)
show_end_message_yesno("command line utils" ENABLE_UTILS)
600
601
602
603

if(USE_FIXEDPOINT AND USE_FLOAT)
  message("Warning: Single precision and fixed point options should not be enabled at the same time")
endif(USE_FIXEDPOINT AND USE_FLOAT)