CMakeLists.txt 17.4 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
set(POPPLER_MAJOR_VERSION "0")
Albert Astals Cid's avatar
Albert Astals Cid committed
16
set(POPPLER_MINOR_VERSION "13")
Albert Astals Cid's avatar
Albert Astals Cid committed
17
set(POPPLER_MICRO_VERSION "2")
18
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
19 20 21 22 23 24

# 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_QT3_TESTS "Whether compile the Qt3 test programs." ON)
option(BUILD_QT4_TESTS "Whether compile the Qt4 test programs." ON)
25
option(BUILD_CPP_TESTS "Whether compile the CPP test programs." ON)
26 27
option(ENABLE_SPLASH "Build the Splash graphics backend." ON)
option(ENABLE_UTILS "Compile poppler command line utils." ON)
28
option(ENABLE_CPP "Compile poppler cpp wrapper." ON)
29
option(ENABLE_ABIWORD "Build the Abiword backend." 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
option(USE_EXCEPTIONS "Throw exceptions to deal with not enough memory and similar problems." 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 68
set(OPI_SUPPORT ON)
set(TEXTOUT_WORD_LIST ON)

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

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

142 143 144 145
add_definitions(-DHAVE_CONFIG_H=1)
if(FONTCONFIG_FOUND)
  add_definitions(${FONTCONFIG_DEFINITIONS})
endif(FONTCONFIG_FOUND)
146 147 148 149 150 151
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)
152 153 154 155 156 157 158
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
159
  ${FREETYPE_INCLUDE_DIRS}
160 161
)
set(HAVE_FREETYPE_H ON)
162 163 164
if(CMAKE_USE_PTHREADS_INIT)
  set(HAVE_PTHREAD ON)
endif(CMAKE_USE_PTHREADS_INIT)
165 166 167 168 169 170 171 172

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)
173 174 175 176
if(PNG_FOUND)
  include_directories(${PNG_INCLUDE_DIR})
  set(ENABLE_LIBPNG ON)
endif(PNG_FOUND)
177 178 179 180
if(ENABLE_ABIWORD)
  include_directories(${LIBXML2_INCLUDE_DIR})
  add_definitions(${LIBXML2_DEFINITIONS})
endif(ENABLE_ABIWORD)
181
if(LIBOPENJPEG_FOUND)
182
  include_directories(${LIBOPENJPEG_INCLUDE_DIR})
183
endif(LIBOPENJPEG_FOUND)
Albert Astals Cid's avatar
Albert Astals Cid committed
184 185 186
if(LCMS_FOUND)
  include_directories(${LCMS_INCLUDE_DIR})
endif(LCMS_FOUND)
187 188 189 190 191 192 193

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")
194
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
195 196
endif(_comp_warnings STREQUAL "no")
if(_comp_warnings STREQUAL "yes")
197
  set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
198 199 200 201 202 203 204 205
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)
206
configure_file(poppler/poppler-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h)
207 208 209 210 211 212 213 214 215 216 217


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
218
  goo/PNGWriter.cc
Albert Astals Cid's avatar
Albert Astals Cid committed
219
  goo/JpegWriter.cc
220
  goo/ImgWriter.cc
221
  goo/gstrtod.cc
222 223 224 225 226 227 228 229 230
  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
231
  poppler/CachedFile.cc
232 233 234
  poppler/Catalog.cc
  poppler/CharCodeToUnicode.cc
  poppler/CMap.cc
235
  poppler/DateInfo.cc
236 237 238
  poppler/Decrypt.cc
  poppler/Dict.cc
  poppler/Error.cc
239
  poppler/FileSpec.cc
240 241 242 243 244 245 246 247 248 249 250 251
  poppler/FontEncodingTables.cc
  poppler/Form.cc
  poppler/FontInfo.cc
  poppler/Function.cc
  poppler/Gfx.cc
  poppler/GfxFont.cc
  poppler/GfxState.cc
  poppler/GlobalParams.cc
  poppler/JArithmeticDecoder.cc
  poppler/JBIG2Stream.cc
  poppler/Lexer.cc
  poppler/Link.cc
252
  poppler/LocalPDFDocBuilder.cc
253 254
  poppler/NameToCharCode.cc
  poppler/Object.cc
255
  poppler/OptionalContent.cc
256 257 258 259 260 261 262
  poppler/Outline.cc
  poppler/OutputDev.cc
  poppler/Page.cc
  poppler/PageTransition.cc
  poppler/Parser.cc
  poppler/PDFDoc.cc
  poppler/PDFDocEncoding.cc
263
  poppler/PopplerCache.cc
264 265 266 267 268 269 270 271 272 273 274
  poppler/ProfileData.cc
  poppler/PreScanOutputDev.cc
  poppler/PSTokenizer.cc
  poppler/Stream.cc
  poppler/UnicodeMap.cc
  poppler/UnicodeTypeTable.cc
  poppler/XRef.cc
  poppler/PSOutputDev.cc
  poppler/TextOutputDev.cc
  poppler/PageLabelInfo.cc
  poppler/SecurityHandler.cc
275
  poppler/StdinCachedFile.cc
276
  poppler/StdinPDFDocBuilder.cc
277 278
  poppler/Sound.cc
  poppler/XpdfPluginAPI.cc
Hugo Mercier's avatar
Hugo Mercier committed
279
  poppler/Movie.cc
280
  poppler/Rendition.cc
281
)
282
set(poppler_LIBS ${FREETYPE_LIBRARIES})
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
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)
307 308 309
if(FONTCONFIG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
endif(FONTCONFIG_FOUND)
310 311 312 313 314 315 316 317 318 319 320 321
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
322 323 324 325 326 327
if(ENABLE_LIBCURL)
  set(poppler_SRCS ${poppler_SRCS}
    poppler/CurlCachedFile.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${CURL_LIBRARIES})
endif(ENABLE_LIBCURL)
328
if(LIBOPENJPEG_FOUND)
329 330 331 332
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPEG2000Stream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG_LIBRARIES})
333
else (LIBOPENJPEG_FOUND)
334 335 336
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPXStream.cc
  )
337
endif(LIBOPENJPEG_FOUND)
338 339 340
if(USE_CMS)
  set(poppler_LIBS ${poppler_LIBS} ${LCMS_LIBRARIES})
endif(USE_CMS)
341 342 343 344 345 346 347 348 349 350
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)
351 352 353
if(PNG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${PNG_LIBRARIES})
endif(PNG_FOUND)
354

355
if(MSVC)
356
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
357 358
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
359
add_library(poppler SHARED ${poppler_SRCS})
360
endif(MSVC)
Albert Astals Cid's avatar
Albert Astals Cid committed
361
set_target_properties(poppler PROPERTIES VERSION 6.0.0 SOVERSION 6)
362
target_link_libraries(poppler ${poppler_LIBS})
363
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
364
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
365 366 367 368 369 370 371

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
372
    poppler/CachedFile.h
373 374 375
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
376
    poppler/DateInfo.h
377 378 379
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
380
    poppler/FileSpec.h
381 382 383 384 385 386 387 388
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
389
    poppler/GfxState_helpers.h
390 391 392 393 394
    poppler/GlobalParams.h
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
395
    poppler/LocalPDFDocBuilder.h
396
    poppler/Movie.h
397 398
    poppler/NameToCharCode.h
    poppler/Object.h
399
    poppler/OptionalContent.h
400 401 402 403 404 405
    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
406
    poppler/PDFDocBuilder.h
407
    poppler/PDFDocEncoding.h
Albert Astals Cid's avatar
Albert Astals Cid committed
408
    poppler/PopplerCache.h
409 410 411
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
412
    poppler/Rendition.h
413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428
    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
429
    poppler/StdinCachedFile.h
430
    poppler/StdinPDFDocBuilder.h
431 432 433 434 435
    poppler/UTF8.h
    poppler/XpdfPluginAPI.h
    poppler/Sound.h
    ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
    DESTINATION include/poppler)
436 437 438 439 440 441 442 443 444 445 446
  install(FILES
    goo/GooHash.h
    goo/GooList.h
    goo/GooTimer.h
    goo/GooMutex.h
    goo/GooString.h
    goo/GooVector.h
    goo/gtypes.h
    goo/gmem.h
    goo/gfile.h
    goo/FixedPoint.h
447
    goo/ImgWriter.h
448
    goo/gstrtod.h
449
    DESTINATION include/poppler/goo)
450 451 452 453 454
  if(PNG_FOUND)
    install(FILES
      goo/PNGWriter.h
      DESTINATION include/poppler/goo)
  endif(PNG_FOUND)
455 456 457 458 459 460 461
  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
462 463 464 465 466
  if(ENABLE_LIBCURL)
    install(FILES
      poppler/CurlCachedFile.h
      DESTINATION include/poppler)
  endif(ENABLE_LIBCURL)
467
  if(LIBOPENJPEG_FOUND)
468 469 470
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
471 472 473
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
474
  else(LIBOPENJPEG_FOUND)
475 476 477
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
478
  endif(LIBOPENJPEG_FOUND)
479 480 481 482 483 484 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
  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)
515
if(ENABLE_GLIB)
516
  add_subdirectory(glib)
517
endif(ENABLE_GLIB)
518 519 520 521 522 523 524
if(QT3_FOUND)
  add_subdirectory(qt)
endif(QT3_FOUND)
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
525 526 527
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
528 529

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

542
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
543
if(ENABLE_SPLASH)
544
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
545 546
endif(ENABLE_SPLASH)
if(QT3_FOUND)
547
  poppler_create_install_pkgconfig(poppler-qt.pc lib${LIB_SUFFIX}/pkgconfig)
548 549
endif(QT3_FOUND)
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 568 569
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("qt wrapper" QT3_FOUND)
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
570
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
571
show_end_message_yesno("  use GDK" POPPLER_WITH_GDK)
572
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
573
show_end_message("use gtk-doc" "not supported with this CMake build system")
574 575 576
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
show_end_message_yesno("use zlib" ENABLE_ZLIB)
Hib Eris's avatar
Hib Eris committed
577
show_end_message_yesno("use curl" ENABLE_LIBCURL)
578 579 580
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)
581 582 583 584

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)