CMakeLists.txt 18.6 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
Albert Astals Cid committed
18
set(POPPLER_MINOR_VERSION "21")
Albert Astals Cid's avatar
0.21.2    
Albert Astals Cid committed
19
set(POPPLER_MICRO_VERSION "2")
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
set(ENABLE_CMS "auto" CACHE STRING "Use color management system. Possible values: auto, lcms1, lcms2. 'auto' prefers lcms2 over lcms1 if both are available. Unset to disable color management system.")
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_CMS STREQUAL "auto")
Pino Toscano's avatar
Pino Toscano committed
140
  find_package(LCMS2)
141
142
  set(USE_CMS ${LCMS2_FOUND})
  if(NOT LCMS2_FOUND)
Pino Toscano's avatar
Pino Toscano committed
143
144
145
    find_package(LCMS)
    set(USE_CMS ${LCMS_FOUND})
    set(USE_LCMS1 ${LCMS_FOUND})
146
147
148
149
150
151
152
153
154
  endif(NOT LCMS2_FOUND)
elseif(ENABLE_CMS STREQUAL "lcms1")
  find_package(LCMS)
  set(USE_CMS ${LCMS_FOUND})
  set(USE_LCMS1 ${LCMS_FOUND})
elseif(ENABLE_CMS STREQUAL "lcms2")
  find_package(LCMS2)
  set(USE_CMS ${LCMS2_FOUND})
endif()
Hib Eris's avatar
Hib Eris committed
155
156
157
158
159
if(ENABLE_LIBCURL)
  find_package(CURL)
  include_directories(${CURL_INCLUDE_DIR})
  set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
160

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

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

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


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

390
if(MSVC)
391
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
392
set(CMAKE_CXX_FLAGS "/Zc:wchar_t- ${CMAKE_CXX_FLAGS}")
393
394
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
395
add_library(poppler SHARED ${poppler_SRCS})
396
endif(MSVC)
Albert Astals Cid's avatar
0.21.2    
Albert Astals Cid committed
397
set_target_properties(poppler PROPERTIES VERSION 31.0.0 SOVERSION 31)
398
target_link_libraries(poppler ${poppler_LIBS})
399
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
400
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
401
402
403
404
405
406
407

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

set(PKG_CONFIG_VERSION_0_18 TRUE)
576
577
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
578
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
579
endif(PKG_CONFIG_EXECUTABLE)
580
581
582
583
584
585
586
587
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)

588
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
589
if(ENABLE_SPLASH)
590
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
591
592
endif(ENABLE_SPLASH)
if(QT4_FOUND)
593
  poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
594
endif(QT4_FOUND)
595
if(ENABLE_GLIB)
596
  poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
597
endif(ENABLE_GLIB)
598
if(CAIRO_FOUND)
599
  poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
600
endif(CAIRO_FOUND)
Pino Toscano's avatar
Pino Toscano committed
601
602
603
if(ENABLE_CPP)
  poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
endif(ENABLE_CPP)
604
605
606


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

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)