CMakeLists.txt 16.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
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)
32
option(ENABLE_ZLIB "Build with zlib (not totally safe)." OFF)
33
option(USE_EXCEPTIONS "Throw exceptions to deal with not enough memory and similar problems." 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 37 38 39 40
if(WIN32)
  option(ENABLE_RELOCATABLE "Hardcode the poppler library location (on Windows)." ON)
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 67
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
68
set(QT4_MIN_VERSION "4.4.0")
69
set(CAIRO_VERSION "1.8.4")
70
set(GLIB_REQUIRED "2.18")
71 72 73

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

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

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

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


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
212
  goo/PNGWriter.cc
Albert Astals Cid's avatar
Albert Astals Cid committed
213
  goo/JpegWriter.cc
214
  goo/ImgWriter.cc
215
  goo/gstrtod.cc
216 217 218 219 220 221 222 223 224 225 226 227
  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
  poppler/Catalog.cc
  poppler/CharCodeToUnicode.cc
  poppler/CMap.cc
228
  poppler/DateInfo.cc
229 230 231
  poppler/Decrypt.cc
  poppler/Dict.cc
  poppler/Error.cc
232
  poppler/FileSpec.cc
233 234 235 236 237 238 239 240 241 242 243 244 245 246
  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
  poppler/NameToCharCode.cc
  poppler/Object.cc
247
  poppler/OptionalContent.cc
248 249 250 251 252 253 254
  poppler/Outline.cc
  poppler/OutputDev.cc
  poppler/Page.cc
  poppler/PageTransition.cc
  poppler/Parser.cc
  poppler/PDFDoc.cc
  poppler/PDFDocEncoding.cc
255
  poppler/PopplerCache.cc
256 257 258 259 260 261 262 263 264 265 266 267 268
  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
  poppler/Sound.cc
  poppler/XpdfPluginAPI.cc
Hugo Mercier's avatar
Hugo Mercier committed
269
  poppler/Movie.cc
270
  poppler/Rendition.cc
271
)
272
set(poppler_LIBS ${FREETYPE_LIBRARIES})
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
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)
297 298 299
if(FONTCONFIG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
endif(FONTCONFIG_FOUND)
300 301 302 303 304 305 306 307 308 309 310 311
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)
312
if(LIBOPENJPEG_FOUND)
313 314 315 316
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPEG2000Stream.cc
  )
  set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG_LIBRARIES})
317
else (LIBOPENJPEG_FOUND)
318 319 320
  set(poppler_SRCS ${poppler_SRCS}
    poppler/JPXStream.cc
  )
321
endif(LIBOPENJPEG_FOUND)
322 323 324
if(USE_CMS)
  set(poppler_LIBS ${poppler_LIBS} ${LCMS_LIBRARIES})
endif(USE_CMS)
325 326 327 328 329 330 331 332 333 334
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)
335 336 337
if(PNG_FOUND)
  set(poppler_LIBS ${poppler_LIBS} ${PNG_LIBRARIES})
endif(PNG_FOUND)
338

339
if(MSVC)
340
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
341 342
add_library(poppler STATIC ${poppler_SRCS})
else(MSVC)
343
add_library(poppler SHARED ${poppler_SRCS})
344
endif(MSVC)
Albert Astals Cid's avatar
Albert Astals Cid committed
345
set_target_properties(poppler PROPERTIES VERSION 6.0.0 SOVERSION 6)
346
target_link_libraries(poppler ${poppler_LIBS})
347
target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
348
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
349 350 351 352 353 354 355 356 357 358

if(ENABLE_XPDF_HEADERS)
  install(FILES
    poppler/Annot.h
    poppler/Array.h
    poppler/BuiltinFont.h
    poppler/BuiltinFontTables.h
    poppler/Catalog.h
    poppler/CharCodeToUnicode.h
    poppler/CMap.h
359
    poppler/DateInfo.h
360 361 362
    poppler/Decrypt.h
    poppler/Dict.h
    poppler/Error.h
363
    poppler/FileSpec.h
364 365 366 367 368 369 370 371
    poppler/FontEncodingTables.h
    poppler/FontInfo.h
    poppler/Form.h
    poppler/Function.cc
    poppler/Function.h
    poppler/Gfx.h
    poppler/GfxFont.h
    poppler/GfxState.h
372
    poppler/GfxState_helpers.h
373 374 375 376 377
    poppler/GlobalParams.h
    poppler/JArithmeticDecoder.h
    poppler/JBIG2Stream.h
    poppler/Lexer.h
    poppler/Link.h
378
    poppler/Movie.h
379 380
    poppler/NameToCharCode.h
    poppler/Object.h
381
    poppler/OptionalContent.h
382 383 384 385 386 387 388
    poppler/Outline.h
    poppler/OutputDev.h
    poppler/Page.h
    poppler/PageTransition.h
    poppler/Parser.h
    poppler/PDFDoc.h
    poppler/PDFDocEncoding.h
Albert Astals Cid's avatar
Albert Astals Cid committed
389
    poppler/PopplerCache.h
390 391 392
    poppler/ProfileData.h
    poppler/PreScanOutputDev.h
    poppler/PSTokenizer.h
393
    poppler/Rendition.h
394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
    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
    poppler/UTF8.h
    poppler/XpdfPluginAPI.h
    poppler/Sound.h
    ${CMAKE_CURRENT_BINARY_DIR}/poppler/poppler-config.h
    DESTINATION include/poppler)
415 416 417 418 419 420 421 422 423 424 425
  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
426
    goo/ImgWriter.h
427
    goo/gstrtod.h
428
    DESTINATION include/poppler/goo)
429 430 431 432 433
  if(PNG_FOUND)
    install(FILES
      goo/PNGWriter.h
      DESTINATION include/poppler/goo)
  endif(PNG_FOUND)
434 435 436 437 438 439 440
  install(FILES
    fofi/FoFiBase.h
    fofi/FoFiEncodings.h
    fofi/FoFiTrueType.h
    fofi/FoFiType1.h
    fofi/FoFiType1C.h
    DESTINATION include/poppler/fofi)
441
  if(LIBOPENJPEG_FOUND)
442 443 444
    install(FILES
      poppler/JPEG2000Stream.h
      DESTINATION include/poppler)
445 446 447
    install(FILES
      goo/JpegWriter.h
      DESTINATION include/poppler/goo)
448
  else(LIBOPENJPEG_FOUND)
449 450 451
    install(FILES
      poppler/JPXStream.h
      DESTINATION include/poppler)
452
  endif(LIBOPENJPEG_FOUND)
453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488
  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)
489
if(ENABLE_GLIB)
490
  add_subdirectory(glib)
491
endif(ENABLE_GLIB)
492 493 494 495 496 497 498
if(QT3_FOUND)
  add_subdirectory(qt)
endif(QT3_FOUND)
add_subdirectory(test)
if(QT4_FOUND)
  add_subdirectory(qt4)
endif(QT4_FOUND)
499 500 501
if(ENABLE_CPP)
  add_subdirectory(cpp)
endif(ENABLE_CPP)
502 503

set(PKG_CONFIG_VERSION_0_18 TRUE)
504 505
if(PKG_CONFIG_EXECUTABLE)
  exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
506
  macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
507
endif(PKG_CONFIG_EXECUTABLE)
508 509 510 511 512 513 514 515
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)

516
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
517
if(ENABLE_SPLASH)
518
  poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
519 520
endif(ENABLE_SPLASH)
if(QT3_FOUND)
521
  poppler_create_install_pkgconfig(poppler-qt.pc lib${LIB_SUFFIX}/pkgconfig)
522 523
endif(QT3_FOUND)
if(QT4_FOUND)
524
  poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
525
endif(QT4_FOUND)
526
if(ENABLE_GLIB)
527
  poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
528
endif(ENABLE_GLIB)
529
if(CAIRO_FOUND)
530
  poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
531
endif(CAIRO_FOUND)
532 533 534
if(ENABLE_CPP)
  poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
endif(ENABLE_CPP)
535 536 537


message("Building Poppler with support for:")
538
show_end_message("font configuration" ${font_configuration})
539 540 541 542 543
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)
544
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
545
show_end_message_yesno("  use GDK" POPPLER_WITH_GDK)
546
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
547
show_end_message("use gtk-doc" "not supported with this CMake build system")
548 549 550 551 552 553
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
show_end_message_yesno("use zlib" ENABLE_ZLIB)
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)
554 555 556 557

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)