CMakeLists.txt 17 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
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)
51 52
set(WITH_FONTCONFIGURATION_WIN32 OFF)
set(WITH_FONTCONFIGURATION_FONTCONFIG OFF)
53 54 55 56 57 58 59 60
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")

61
# Enable these unconditionally.
62
set(MULTITHREADED ON)
63 64 65 66
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
67
set(QT4_MIN_VERSION "4.4.0")
68
set(CAIRO_VERSION "1.10.0")
69
set(GLIB_REQUIRED "2.18")
70 71 72

macro_bool_to_01(ENABLE_SPLASH HAVE_SPLASH)
find_package(Freetype REQUIRED)
73 74 75
if(WITH_FONTCONFIGURATION_FONTCONFIG)
  find_package(Fontconfig REQUIRED)
endif(WITH_FONTCONFIGURATION_FONTCONFIG)
76
macro_optional_find_package(JPEG)
77
macro_optional_find_package(PNG)
78
macro_optional_find_package(TIFF)
79
if(JPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
80
  set(ENABLE_LIBJPEG ${JPEG_FOUND})
81 82
endif(JPEG_FOUND)
macro_optional_find_package(Qt4)
83 84
macro_optional_find_package(Cairo ${CAIRO_VERSION})
if(CAIRO_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
85
  set(HAVE_CAIRO ${CAIRO_FOUND})
86 87
  set(CAIRO_FEATURE "#define POPPLER_HAS_CAIRO 1")
  set(CAIRO_REQ "cairo")
88 89
  set(POPPLER_GLIB_DISABLE_DEPRECATED "")
  set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "")
90
  macro_optional_find_package(GLIB)
91
  if(GLIB_FOUND)
92
    set(ENABLE_GLIB ON)
93
    # Check for introspection
94
    macro_optional_find_package(GObjectIntrospection 0.9.12)
95
    set(HAVE_INTROSPECTION ${INTROSPECTION_FOUND})
96 97
    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")
98
    macro_optional_find_package(GTK)
99 100 101 102
  endif(GLIB_FOUND)
else(CAIRO_FOUND)
  set(CAIRO_FEATURE "#undef POPPLER_HAS_CAIRO")
endif(CAIRO_FOUND)
103 104 105 106 107
if(ENABLE_CPP)
  macro_optional_find_package(Iconv)
  set(ENABLE_CPP ${ICONV_FOUND})
  set(HAVE_ICONV ${ICONV_FOUND})
endif(ENABLE_CPP)
108 109 110
if(ENABLE_ZLIB)
  find_package(ZLIB)
  if(ZLIB_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
111
    set(HAVE_LIBZ ${ZLIB_FOUND})
112 113 114
  endif(ZLIB_FOUND)
  set(ENABLE_ZLIB ${ZLIB_FOUND})
endif(ENABLE_ZLIB)
115 116 117
if(ENABLE_LIBOPENJPEG)
  find_package(LIBOPENJPEG)
  set(ENABLE_LIBOPENJPEG ${LIBOPENJPEG_FOUND})
118
  set(HAVE_OPENJPEG_H ON)
119
endif(ENABLE_LIBOPENJPEG)
120 121 122 123
if(ENABLE_LCMS)
  find_package(LCMS)
  set(USE_CMS ${LCMS_FOUND})
endif(ENABLE_LCMS)
Hib Eris's avatar
Hib Eris committed
124 125 126 127 128
if(ENABLE_LIBCURL)
  find_package(CURL)
  include_directories(${CURL_INCLUDE_DIR})
  set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
129

130 131 132
add_definitions(-DHAVE_CONFIG_H=1)
if(FONTCONFIG_FOUND)
  add_definitions(${FONTCONFIG_DEFINITIONS})
133
  include_directories(${FONTCONFIG_INCLUDE_DIR})
134
endif(FONTCONFIG_FOUND)
135 136 137 138 139 140
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)
141 142 143 144 145 146 147
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
148
  ${FREETYPE_INCLUDE_DIRS}
149 150
)
set(HAVE_FREETYPE_H ON)
151 152 153
if(CMAKE_USE_PTHREADS_INIT)
  set(HAVE_PTHREAD ON)
endif(CMAKE_USE_PTHREADS_INIT)
154 155 156 157 158 159 160 161

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)
162 163 164 165
if(PNG_FOUND)
  include_directories(${PNG_INCLUDE_DIR})
  set(ENABLE_LIBPNG ON)
endif(PNG_FOUND)
166 167 168 169
if(TIFF_FOUND)
  include_directories(${TIFF_INCLUDE_DIR})
  set(ENABLE_LIBTIFF ON)
endif(TIFF_FOUND)
170
if(LIBOPENJPEG_FOUND)
171
  include_directories(${LIBOPENJPEG_INCLUDE_DIR})
172
endif(LIBOPENJPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
173 174 175
if(LCMS_FOUND)
  include_directories(${LCMS_INCLUDE_DIR})
endif(LCMS_FOUND)
176 177 178 179 180 181 182

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")
183
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
184 185
endif(_comp_warnings STREQUAL "no")
if(_comp_warnings STREQUAL "yes")
186
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
187 188 189 190 191 192 193 194
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)
195
configure_file(poppler/poppler-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h)
196 197 198 199 200 201 202 203 204 205 206


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

349
if(MSVC)
350
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
351
set(CMAKE_CXX_FLAGS "/Zc:wchar_t- ${CMAKE_CXX_FLAGS}")
352 353
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
354
add_library(poppler SHARED ${poppler_SRCS})
355
endif(MSVC)
Albert Astals Cid's avatar
Albert Astals Cid committed
356
set_target_properties(poppler PROPERTIES VERSION 18.0.0 SOVERSION 18)
357
target_link_libraries(poppler ${poppler_LIBS})
358
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
359
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
360 361 362 363 364 365 366

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
367
    poppler/CachedFile.h
368 369 370
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
371
    poppler/DateInfo.h
372 373 374
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
375
    poppler/FileSpec.h
376 377 378 379 380 381 382 383
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
384
    poppler/GfxState_helpers.h
385
    poppler/GlobalParams.h
Hib Eris's avatar
Hib Eris committed
386
    poppler/Hints.h
387 388 389 390
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
Hib Eris's avatar
Hib Eris committed
391
    poppler/Linearization.h
392
    poppler/LocalPDFDocBuilder.h
393
    poppler/Movie.h
394 395
    poppler/NameToCharCode.h
    poppler/Object.h
396
    poppler/OptionalContent.h
397 398 399 400 401 402
    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
403
    poppler/PDFDocBuilder.h
404
    poppler/PDFDocEncoding.h
Hib Eris's avatar
Hib Eris committed
405
    poppler/PDFDocFactory.h
Albert Astals Cid's avatar
Albert Astals Cid committed
406
    poppler/PopplerCache.h
407 408 409
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
410
    poppler/Rendition.h
411 412 413 414 415 416 417 418
    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
419
    poppler/ViewerPreferences.h
420 421 422 423 424 425 426 427
    poppler/XRef.h
    poppler/CharTypes.h
    poppler/CompactFontTables.h
    poppler/ErrorCodes.h
    poppler/NameToUnicodeTable.h
    poppler/PSOutputDev.h
    poppler/TextOutputDev.h
    poppler/SecurityHandler.h
428
    poppler/StdinCachedFile.h
429
    poppler/StdinPDFDocBuilder.h
430 431 432 433 434
    poppler/UTF8.h
    poppler/XpdfPluginAPI.h
    poppler/Sound.h
    ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
    DESTINATION include/poppler)
435 436 437 438 439 440 441 442 443 444
  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
445
    goo/ImgWriter.h
446
    goo/GooLikely.h
447
    goo/gstrtod.h
448
    DESTINATION include/poppler/goo)
449 450 451 452 453
  if(PNG_FOUND)
    install(FILES
      goo/PNGWriter.h
      DESTINATION include/poppler/goo)
  endif(PNG_FOUND)
454 455 456 457 458
  if(TIFF_FOUND)
    install(FILES
      goo/TiffWriter.h
      DESTINATION include/poppler/goo)
  endif(TIFF_FOUND)
459 460 461 462 463 464
  install(FILES
    fofi/FoFiBase.h
    fofi/FoFiEncodings.h
    fofi/FoFiTrueType.h
    fofi/FoFiType1.h
    fofi/FoFiType1C.h
465
    fofi/FoFiIdentifier.h
466
    DESTINATION include/poppler/fofi)
Hib Eris's avatar
Hib Eris committed
467 468 469
  if(ENABLE_LIBCURL)
    install(FILES
      poppler/CurlCachedFile.h
Hib Eris's avatar
Hib Eris committed
470
      poppler/CurlPDFDocBuilder.h
Hib Eris's avatar
Hib Eris committed
471 472
      DESTINATION include/poppler)
  endif(ENABLE_LIBCURL)
473
  if(LIBOPENJPEG_FOUND)
474 475 476
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
477 478 479
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
480
  else(LIBOPENJPEG_FOUND)
481 482 483
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
484
  endif(LIBOPENJPEG_FOUND)
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520
  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)
521
if(ENABLE_GLIB)
522
  add_subdirectory(glib)
523
endif(ENABLE_GLIB)
524 525 526 527
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
528 529 530
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
531 532

set(PKG_CONFIG_VERSION_0_18 TRUE)
533 534
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
535
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
536
endif(PKG_CONFIG_EXECUTABLE)
537 538 539 540 541 542 543 544
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)

545
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
546
if(ENABLE_SPLASH)
547
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
548 549
endif(ENABLE_SPLASH)
if(QT4_FOUND)
550
  poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
551
endif(QT4_FOUND)
552
if(ENABLE_GLIB)
553
  poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
554
endif(ENABLE_GLIB)
555
if(CAIRO_FOUND)
556
  poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
557
endif(CAIRO_FOUND)
558 559 560
if(ENABLE_CPP)
  poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
endif(ENABLE_CPP)
561 562 563


message("Building Poppler with support for:")
564
show_end_message("font configuration" ${font_configuration})
565 566 567
show_end_message_yesno("splash output" ENABLE_SPLASH)
show_end_message_yesno("cairo output" CAIRO_FOUND)
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
568
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
569
show_end_message_yesno("  introspection" INTROSPECTION_FOUND)
570
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
571
show_end_message("use gtk-doc" "not supported with this CMake build system")
572 573
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
574
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
575
show_end_message_yesno("use zlib" ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
576
show_end_message_yesno("use curl" ENABLE_LIBCURL)
577 578 579
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)
580 581 582 583

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)