CMakeLists.txt 18.2 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")
Albert Astals Cid's avatar
0.20.0    
Albert Astals Cid committed
18
set(POPPLER_MINOR_VERSION "20")
Albert Astals Cid's avatar
Albert Astals Cid committed
19
set(POPPLER_MICRO_VERSION "4")
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_LIBOPENJPEG "Use libopenjpeg for JPX streams." ON)
31
option(ENABLE_LCMS "Use liblcms for color management." ON)
Hib Eris's avatar
Hib Eris committed
32
option(ENABLE_LIBCURL "Build libcurl based HTTP support." OFF)
33
option(ENABLE_ZLIB "Build with zlib (not totally safe)." OFF)
34
35
option(USE_FIXEDPOINT "Use fixed point arithmetic in the Splash backend" OFF)
option(USE_FLOAT "Use single precision arithmetic in the Splash backend" OFF)
36
if(WIN32)
37
  option(ENABLE_RELOCATABLE "Do not hardcode the poppler library location (on Windows)." ON)
38
39
40
else(WIN32)
  set(ENABLE_RELOCATABLE OFF)
endif(WIN32)
41

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

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
set(TESTDATADIR "${CMAKE_SOURCE_DIR}/../test" CACHE STRING "Specify test data dir.")
if(NOT (EXISTS ${TESTDATADIR} AND EXISTS ${TESTDATADIR}/test-poppler.c))
  message(WARNING "
 No test data found in $testdatadir.
 You will not be able to run 'make test' successfully.

 The test data is not included in the source packages
 and is also not part of the main git repository. Instead,
 you can checkout the test data from its own git
 repository with:

   git clone git://git.freedesktop.org/git/poppler/test

 You should checkout the test data as a sibling of your
 poppler source folder or specify the location of your
 checkout with -DTESTDATADIR=/path/to/checkoutdir/test.
  ")
endif()

63
64
65
66
67
68
69
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)
70
71
set(WITH_FONTCONFIGURATION_WIN32 OFF)
set(WITH_FONTCONFIGURATION_FONTCONFIG OFF)
72
73
74
75
76
77
78
79
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")

80
# Enable these unconditionally.
81
set(MULTITHREADED ON)
82
83
84
85
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
86
set(QT4_MIN_VERSION "4.4.0")
87
set(CAIRO_VERSION "1.10.0")
88
set(GLIB_REQUIRED "2.18")
89
90
91

macro_bool_to_01(ENABLE_SPLASH HAVE_SPLASH)
find_package(Freetype REQUIRED)
92
93
94
if(WITH_FONTCONFIGURATION_FONTCONFIG)
  find_package(Fontconfig REQUIRED)
endif(WITH_FONTCONFIGURATION_FONTCONFIG)
95
macro_optional_find_package(JPEG)
Albert Astals Cid's avatar
Albert Astals Cid committed
96
macro_optional_find_package(PNG)
97
macro_optional_find_package(TIFF)
98
if(JPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
99
  set(ENABLE_LIBJPEG ${JPEG_FOUND})
100
101
endif(JPEG_FOUND)
macro_optional_find_package(Qt4)
102
103
macro_optional_find_package(Cairo ${CAIRO_VERSION})
if(CAIRO_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
104
  set(HAVE_CAIRO ${CAIRO_FOUND})
105
106
  set(CAIRO_FEATURE "#define POPPLER_HAS_CAIRO 1")
  set(CAIRO_REQ "cairo")
107
108
  set(POPPLER_GLIB_DISABLE_DEPRECATED "")
  set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "")
109
  macro_optional_find_package(GLIB)
110
  if(GLIB_FOUND)
111
    set(ENABLE_GLIB ON)
112
    # Check for introspection
113
    macro_optional_find_package(GObjectIntrospection 0.9.12)
114
    set(HAVE_INTROSPECTION ${INTROSPECTION_FOUND})
115
116
    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")
117
    macro_optional_find_package(GTK)
118
119
120
121
  endif(GLIB_FOUND)
else(CAIRO_FOUND)
  set(CAIRO_FEATURE "#undef POPPLER_HAS_CAIRO")
endif(CAIRO_FOUND)
122
123
124
125
126
if(ENABLE_CPP)
  macro_optional_find_package(Iconv)
  set(ENABLE_CPP ${ICONV_FOUND})
  set(HAVE_ICONV ${ICONV_FOUND})
endif(ENABLE_CPP)
127
128
129
if(ENABLE_ZLIB)
  find_package(ZLIB)
  if(ZLIB_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
130
    set(HAVE_LIBZ ${ZLIB_FOUND})
131
132
133
  endif(ZLIB_FOUND)
  set(ENABLE_ZLIB ${ZLIB_FOUND})
endif(ENABLE_ZLIB)
134
135
136
if(ENABLE_LIBOPENJPEG)
  find_package(LIBOPENJPEG)
  set(ENABLE_LIBOPENJPEG ${LIBOPENJPEG_FOUND})
137
  set(HAVE_OPENJPEG_H ON)
138
endif(ENABLE_LIBOPENJPEG)
139
if(ENABLE_LCMS)
Pino Toscano's avatar
Pino Toscano committed
140
141
142
143
144
145
146
147
  find_package(LCMS2)
  if(LCMS2_FOUND)
    set(USE_CMS ${LCMS2_FOUND})
  else(LCMS2_FOUND)
    find_package(LCMS)
    set(USE_CMS ${LCMS_FOUND})
    set(USE_LCMS1 ${LCMS_FOUND})
  endif(LCMS2_FOUND)
148
endif(ENABLE_LCMS)
Hib Eris's avatar
Hib Eris committed
149
150
151
152
153
if(ENABLE_LIBCURL)
  find_package(CURL)
  include_directories(${CURL_INCLUDE_DIR})
  set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
154

155
156
157
add_definitions(-DHAVE_CONFIG_H=1)
if(FONTCONFIG_FOUND)
  add_definitions(${FONTCONFIG_DEFINITIONS})
158
  include_directories(${FONTCONFIG_INCLUDE_DIR})
159
endif(FONTCONFIG_FOUND)
160
161
162
163
164
165
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)
166
167
168
169
170
171
172
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
173
  ${FREETYPE_INCLUDE_DIRS}
174
175
)
set(HAVE_FREETYPE_H ON)
176
177
178
if(CMAKE_USE_PTHREADS_INIT)
  set(HAVE_PTHREAD ON)
endif(CMAKE_USE_PTHREADS_INIT)
179
180
181
182
183
184
185
186

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
187
188
189
190
if(PNG_FOUND)
  include_directories(${PNG_INCLUDE_DIR})
  set(ENABLE_LIBPNG ON)
endif(PNG_FOUND)
191
192
193
194
if(TIFF_FOUND)
  include_directories(${TIFF_INCLUDE_DIR})
  set(ENABLE_LIBTIFF ON)
endif(TIFF_FOUND)
195
if(LIBOPENJPEG_FOUND)
196
  include_directories(${LIBOPENJPEG_INCLUDE_DIR})
197
endif(LIBOPENJPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
198
199
200
if(LCMS_FOUND)
  include_directories(${LCMS_INCLUDE_DIR})
endif(LCMS_FOUND)
Pino Toscano's avatar
Pino Toscano committed
201
202
203
if(LCMS2_FOUND)
  include_directories(${LCMS2_INCLUDE_DIR})
endif(LCMS2_FOUND)
204
205
206
207
208
209
210

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")
211
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
212
213
endif(_comp_warnings STREQUAL "no")
if(_comp_warnings STREQUAL "yes")
214
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
215
216
217
218
219
220
221
222
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)
223
configure_file(poppler/poppler-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h)
224
225
226
227
228
229
230
231
232
233
234


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
235
  goo/PNGWriter.cc
236
  goo/TiffWriter.cc
Albert Astals Cid's avatar
Albert Astals Cid committed
237
  goo/JpegWriter.cc
238
  goo/ImgWriter.cc
239
  goo/gstrtod.cc
240
241
242
243
244
  fofi/FoFiBase.cc
  fofi/FoFiEncodings.cc
  fofi/FoFiTrueType.cc
  fofi/FoFiType1.cc
  fofi/FoFiType1C.cc
245
  fofi/FoFiIdentifier.cc
246
247
248
249
  poppler/Annot.cc
  poppler/Array.cc
  poppler/BuiltinFont.cc
  poppler/BuiltinFontTables.cc
Hib Eris's avatar
Hib Eris committed
250
  poppler/CachedFile.cc
251
252
253
  poppler/Catalog.cc
  poppler/CharCodeToUnicode.cc
  poppler/CMap.cc
254
  poppler/DateInfo.cc
255
256
257
  poppler/Decrypt.cc
  poppler/Dict.cc
  poppler/Error.cc
258
  poppler/FileSpec.cc
259
260
261
262
263
264
265
266
  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
267
  poppler/Hints.cc
268
269
270
271
  poppler/JArithmeticDecoder.cc
  poppler/JBIG2Stream.cc
  poppler/Lexer.cc
  poppler/Link.cc
Hib Eris's avatar
Hib Eris committed
272
  poppler/Linearization.cc
273
  poppler/LocalPDFDocBuilder.cc
274
275
  poppler/NameToCharCode.cc
  poppler/Object.cc
276
  poppler/OptionalContent.cc
277
278
279
280
281
282
283
  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
284
  poppler/PDFDocFactory.cc
285
  poppler/PopplerCache.cc
286
287
288
289
  poppler/ProfileData.cc
  poppler/PreScanOutputDev.cc
  poppler/PSTokenizer.cc
  poppler/Stream.cc
290
  poppler/strtok_r.cpp
291
292
293
294
295
296
297
  poppler/UnicodeMap.cc
  poppler/UnicodeTypeTable.cc
  poppler/XRef.cc
  poppler/PSOutputDev.cc
  poppler/TextOutputDev.cc
  poppler/PageLabelInfo.cc
  poppler/SecurityHandler.cc
298
  poppler/StdinCachedFile.cc
299
  poppler/StdinPDFDocBuilder.cc
300
  poppler/Sound.cc
301
  poppler/ViewerPreferences.cc
302
  poppler/XpdfPluginAPI.cc
Hugo Mercier's avatar
Hugo Mercier committed
303
  poppler/Movie.cc
304
  poppler/Rendition.cc
305
)
306
set(poppler_LIBS ${FREETYPE_LIBRARIES})
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
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)
331
332
333
if(FONTCONFIG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
endif(FONTCONFIG_FOUND)
334
335
336
337
338
339
340
341
342
343
344
345
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
346
347
348
if(ENABLE_LIBCURL)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/CurlCachedFile.cc
Hib Eris's avatar
Hib Eris committed
349
    poppler/CurlPDFDocBuilder.cc
Hib Eris's avatar
Hib Eris committed
350
351
352
  )
  set(poppler_LIBS ${poppler_LIBS} ${CURL_LIBRARIES})
endif(ENABLE_LIBCURL)
353
if(LIBOPENJPEG_FOUND)
354
355
356
357
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPEG2000Stream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG_LIBRARIES})
358
else (LIBOPENJPEG_FOUND)
359
360
361
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPXStream.cc
  )
362
endif(LIBOPENJPEG_FOUND)
363
if(USE_CMS)
Pino Toscano's avatar
Pino Toscano committed
364
365
366
367
368
369
  if(LCMS_FOUND)
    set(poppler_LIBS ${poppler_LIBS} ${LCMS_LIBRARIES})
  endif(LCMS_FOUND)
  if(LCMS2_FOUND)
    set(poppler_LIBS ${poppler_LIBS} ${LCMS2_LIBRARIES})
  endif(LCMS2_FOUND)
370
endif(USE_CMS)
371
372
373
374
if(WIN32)
  # gdi32 is needed under win32
  set(poppler_LIBS ${poppler_LIBS} gdi32)
endif(WIN32)
375
376
377
if(PNG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${PNG_LIBRARIES})
endif(PNG_FOUND)
378
379
380
if(TIFF_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${TIFF_LIBRARIES})
endif(TIFF_FOUND)
381

382
if(MSVC)
383
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
384
set(CMAKE_CXX_FLAGS "/Zc:wchar_t- ${CMAKE_CXX_FLAGS}")
385
386
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
387
add_library(poppler SHARED ${poppler_SRCS})
388
endif(MSVC)
Albert Astals Cid's avatar
Albert Astals Cid committed
389
set_target_properties(poppler PROPERTIES VERSION 28.0.0 SOVERSION 28)
390
target_link_libraries(poppler ${poppler_LIBS})
391
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
392
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
393
394
395
396
397
398
399

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
400
    poppler/CachedFile.h
401
402
403
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
404
    poppler/DateInfo.h
405
406
407
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
408
    poppler/FileSpec.h
409
410
411
412
413
414
415
416
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
417
    poppler/GfxState_helpers.h
418
    poppler/GlobalParams.h
Hib Eris's avatar
Hib Eris committed
419
    poppler/Hints.h
420
421
422
423
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
Hib Eris's avatar
Hib Eris committed
424
    poppler/Linearization.h
425
    poppler/LocalPDFDocBuilder.h
426
    poppler/Movie.h
427
428
    poppler/NameToCharCode.h
    poppler/Object.h
429
    poppler/OptionalContent.h
430
431
432
433
434
435
    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
436
    poppler/PDFDocBuilder.h
437
    poppler/PDFDocEncoding.h
Hib Eris's avatar
Hib Eris committed
438
    poppler/PDFDocFactory.h
Albert Astals Cid's avatar
Albert Astals Cid committed
439
    poppler/PopplerCache.h
440
441
442
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
443
    poppler/Rendition.h
444
445
446
447
448
449
450
451
    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
452
    poppler/ViewerPreferences.h
453
454
455
456
457
458
459
460
    poppler/XRef.h
    poppler/CharTypes.h
    poppler/CompactFontTables.h
    poppler/ErrorCodes.h
    poppler/NameToUnicodeTable.h
    poppler/PSOutputDev.h
    poppler/TextOutputDev.h
    poppler/SecurityHandler.h
461
    poppler/StdinCachedFile.h
462
    poppler/StdinPDFDocBuilder.h
463
464
465
466
467
    poppler/UTF8.h
    poppler/XpdfPluginAPI.h
    poppler/Sound.h
    ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
    DESTINATION include/poppler)
468
469
470
471
472
473
474
475
476
477
  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
478
    goo/ImgWriter.h
479
    goo/GooLikely.h
480
    goo/gstrtod.h
481
    DESTINATION include/poppler/goo)
Maciej Mrozowski's avatar
Maciej Mrozowski committed
482
483
484
485
486
  if(PNG_FOUND)
    install(FILES
      goo/PNGWriter.h
      DESTINATION include/poppler/goo)
  endif(PNG_FOUND)
487
488
489
490
491
  if(TIFF_FOUND)
    install(FILES
      goo/TiffWriter.h
      DESTINATION include/poppler/goo)
  endif(TIFF_FOUND)
492
493
494
495
496
497
  install(FILES
    fofi/FoFiBase.h
    fofi/FoFiEncodings.h
    fofi/FoFiTrueType.h
    fofi/FoFiType1.h
    fofi/FoFiType1C.h
498
    fofi/FoFiIdentifier.h
499
    DESTINATION include/poppler/fofi)
Hib Eris's avatar
Hib Eris committed
500
501
502
  if(ENABLE_LIBCURL)
    install(FILES
      poppler/CurlCachedFile.h
Hib Eris's avatar
Hib Eris committed
503
      poppler/CurlPDFDocBuilder.h
Hib Eris's avatar
Hib Eris committed
504
505
      DESTINATION include/poppler)
  endif(ENABLE_LIBCURL)
506
  if(LIBOPENJPEG_FOUND)
507
508
509
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
Maciej Mrozowski's avatar
Maciej Mrozowski committed
510
511
512
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
513
  else(LIBOPENJPEG_FOUND)
514
515
516
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
517
  endif(LIBOPENJPEG_FOUND)
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
  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)
554
if(ENABLE_GLIB)
555
  add_subdirectory(glib)
556
endif(ENABLE_GLIB)
557
558
559
560
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
561
562
563
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
564
565

set(PKG_CONFIG_VERSION_0_18 TRUE)
566
567
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
568
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
569
endif(PKG_CONFIG_EXECUTABLE)
570
571
572
573
574
575
576
577
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)

578
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
579
if(ENABLE_SPLASH)
580
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
581
582
endif(ENABLE_SPLASH)
if(QT4_FOUND)
583
  poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
584
endif(QT4_FOUND)
585
if(ENABLE_GLIB)
586
  poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
587
endif(ENABLE_GLIB)
588
if(CAIRO_FOUND)
589
  poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
590
endif(CAIRO_FOUND)
Pino Toscano's avatar
Pino Toscano committed
591
592
593
if(ENABLE_CPP)
  poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
endif(ENABLE_CPP)
594
595
596


message("Building Poppler with support for:")
597
show_end_message("font configuration" ${font_configuration})
598
599
600
show_end_message_yesno("splash output" ENABLE_SPLASH)
show_end_message_yesno("cairo output" CAIRO_FOUND)
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
601
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
602
show_end_message_yesno("  introspection" INTROSPECTION_FOUND)
603
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
604
show_end_message("use gtk-doc" "not supported with this CMake build system")
605
606
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
607
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
608
show_end_message_yesno("use zlib" ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
609
show_end_message_yesno("use curl" ENABLE_LIBCURL)
610
611
show_end_message_yesno("use libopenjpeg" LIBOPENJPEG_FOUND)
show_end_message_yesno("use cms" USE_CMS)
Pino Toscano's avatar
Pino Toscano committed
612
613
614
615
616
617
if(LCMS_FOUND)
  message("      with lcms1")
endif(LCMS_FOUND)
if(LCMS2_FOUND)
  message("      with lcms2")
endif(LCMS2_FOUND)
618
show_end_message_yesno("command line utils" ENABLE_UTILS)
619
show_end_message("test data dir" ${TESTDATADIR})
620
621
622
623

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)