CMakeLists.txt 17.7 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 19
set(POPPLER_MINOR_VERSION "18")
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_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)
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 140 141 142
if(ENABLE_LCMS)
  find_package(LCMS)
  set(USE_CMS ${LCMS_FOUND})
endif(ENABLE_LCMS)
Hib Eris's avatar
Hib Eris committed
143 144 145 146 147
if(ENABLE_LIBCURL)
  find_package(CURL)
  include_directories(${CURL_INCLUDE_DIR})
  set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
148

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

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)
181 182 183 184
if(PNG_FOUND)
  include_directories(${PNG_INCLUDE_DIR})
  set(ENABLE_LIBPNG ON)
endif(PNG_FOUND)
185 186 187 188
if(TIFF_FOUND)
  include_directories(${TIFF_INCLUDE_DIR})
  set(ENABLE_LIBTIFF ON)
endif(TIFF_FOUND)
189
if(LIBOPENJPEG_FOUND)
190
  include_directories(${LIBOPENJPEG_INCLUDE_DIR})
191
endif(LIBOPENJPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
192 193 194
if(LCMS_FOUND)
  include_directories(${LCMS_INCLUDE_DIR})
endif(LCMS_FOUND)
195 196 197 198 199 200 201

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")
202
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
203 204
endif(_comp_warnings STREQUAL "no")
if(_comp_warnings STREQUAL "yes")
205
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
206 207 208 209 210 211 212 213
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)
214
configure_file(poppler/poppler-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h)
215 216 217 218 219 220 221 222 223 224 225


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

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

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
386
    poppler/CachedFile.h
387 388 389
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
390
    poppler/DateInfo.h
391 392 393
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
394
    poppler/FileSpec.h
395 396 397 398 399 400 401 402
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
403
    poppler/GfxState_helpers.h
404
    poppler/GlobalParams.h
Hib Eris's avatar
Hib Eris committed
405
    poppler/Hints.h
406 407 408 409
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
Hib Eris's avatar
Hib Eris committed
410
    poppler/Linearization.h
411
    poppler/LocalPDFDocBuilder.h
412
    poppler/Movie.h
413 414
    poppler/NameToCharCode.h
    poppler/Object.h
415
    poppler/OptionalContent.h
416 417 418 419 420 421
    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
422
    poppler/PDFDocBuilder.h
423
    poppler/PDFDocEncoding.h
Hib Eris's avatar
Hib Eris committed
424
    poppler/PDFDocFactory.h
Albert Astals Cid's avatar
Albert Astals Cid committed
425
    poppler/PopplerCache.h
426 427 428
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
429
    poppler/Rendition.h
430 431 432 433 434 435 436 437
    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
438
    poppler/ViewerPreferences.h
439 440 441 442 443 444 445 446
    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
464
    goo/ImgWriter.h
465
    goo/GooLikely.h
466
    goo/gstrtod.h
467
    DESTINATION include/poppler/goo)
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
  install(FILES
    fofi/FoFiBase.h
    fofi/FoFiEncodings.h
    fofi/FoFiTrueType.h
    fofi/FoFiType1.h
    fofi/FoFiType1C.h
484
    fofi/FoFiIdentifier.h
485
    DESTINATION include/poppler/fofi)
Hib Eris's avatar
Hib Eris committed
486 487 488
  if(ENABLE_LIBCURL)
    install(FILES
      poppler/CurlCachedFile.h
Hib Eris's avatar
Hib Eris committed
489
      poppler/CurlPDFDocBuilder.h
Hib Eris's avatar
Hib Eris committed
490 491
      DESTINATION include/poppler)
  endif(ENABLE_LIBCURL)
492
  if(LIBOPENJPEG_FOUND)
493 494 495
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
496 497 498
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
499
  else(LIBOPENJPEG_FOUND)
500 501 502
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
503
  endif(LIBOPENJPEG_FOUND)
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 539
  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)
540
if(ENABLE_GLIB)
541
  add_subdirectory(glib)
542
endif(ENABLE_GLIB)
543 544 545 546
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
547 548 549
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
550 551

set(PKG_CONFIG_VERSION_0_18 TRUE)
552 553
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
554
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
555
endif(PKG_CONFIG_EXECUTABLE)
556 557 558 559 560 561 562 563
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)

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


message("Building Poppler with support for:")
583
show_end_message("font configuration" ${font_configuration})
584 585 586
show_end_message_yesno("splash output" ENABLE_SPLASH)
show_end_message_yesno("cairo output" CAIRO_FOUND)
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
587
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
588
show_end_message_yesno("  introspection" INTROSPECTION_FOUND)
589
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
590
show_end_message("use gtk-doc" "not supported with this CMake build system")
591 592
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
593
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
594
show_end_message_yesno("use zlib" ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
595
show_end_message_yesno("use curl" ENABLE_LIBCURL)
596 597 598
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)
599
show_end_message("test data dir" ${TESTDATADIR})
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)