10
10
find_package(PkgConfig)
11
11
include(MacroEnsureVersion)
12
12
include(MacroBoolTo01)
14
message("-- Using win32 threads")
16
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
17
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
14
20
include(TestBigEndian)
15
21
test_big_endian(WORDS_BIGENDIAN)
16
22
include(CheckFileOffsetBits)
17
23
CHECK_FILE_OFFSET_BITS()
25
include(GNUInstallDirs)
19
27
find_package (ECM 1.6.0 QUIET NO_MODULE)
21
29
include("${ECM_MODULE_DIR}/ECMEnableSanitizers.cmake")
24
32
set(POPPLER_MAJOR_VERSION "0")
25
set(POPPLER_MINOR_VERSION "52")
33
set(POPPLER_MINOR_VERSION "62")
26
34
set(POPPLER_MICRO_VERSION "0")
27
35
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
37
set (CMAKE_CXX_STANDARD 11)
38
set (CMAKE_CXX_EXTENSIONS OFF)
29
40
# command line switches
30
41
option(ENABLE_XPDF_HEADERS "Install unsupported xpdf headers." OFF)
31
42
option(BUILD_GTK_TESTS "Whether compile the GTK+ test programs." ON)
32
option(BUILD_QT4_TESTS "Whether compile the Qt4 test programs." ON)
33
43
option(BUILD_QT5_TESTS "Whether compile the Qt5 test programs." ON)
34
44
option(BUILD_CPP_TESTS "Whether compile the CPP test programs." ON)
35
45
option(ENABLE_SPLASH "Build the Splash graphics backend." ON)
36
46
option(ENABLE_UTILS "Compile poppler command line utils." ON)
37
47
option(ENABLE_CPP "Compile poppler cpp wrapper." ON)
38
set(ENABLE_LIBOPENJPEG "auto" CACHE STRING "Use libopenjpeg for JPX streams. Possible values: auto, openjpeg1, openjpeg2. 'auto' prefers openjpeg1 over openjpeg2 if both are available. Unset to not use openjpeg.")
39
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.")
40
option(ENABLE_LIBCURL "Build libcurl based HTTP support." OFF)
48
option(ENABLE_GLIB "Compile poppler glib wrapper." ON)
49
option(ENABLE_GTK_DOC "Whether to generate glib API documentation." OFF)
50
option(ENABLE_QT5 "Compile poppler qt5 wrapper." ON)
51
set(ENABLE_LIBOPENJPEG "openjpeg2" CACHE STRING "Use libopenjpeg for JPX streams. Possible values: openjpeg2, unmaintained, none. 'unmaintained' gives you the internal unmaintained decoder. Use at your own risk. 'none' compiles no JPX decoder at all. Default: openjpeg2")
52
set(ENABLE_CMS "lcms2" CACHE STRING "Use color management system. Possible values: lcms2, none. 'none' disables color management system.")
53
set(ENABLE_DCTDECODER "libjpeg" CACHE STRING "Use libjpeg for DCT streams. Possible values: libjpeg, unmaintained, none. will use libjpeg if available or fail if not. 'unmaintained' gives you the internal unmaintained decoder. Use at your own risk. 'none' compiles no DCT decoder at all. Default: libjpeg")
54
option(ENABLE_LIBCURL "Build libcurl based HTTP support." ON)
41
55
option(ENABLE_ZLIB "Build with zlib." ON)
42
56
option(ENABLE_ZLIB_UNCOMPRESS "Use zlib to uncompress flate streams (not totally safe)." OFF)
43
57
option(SPLASH_CMYK "Include support for CMYK rasterization." OFF)
44
58
option(USE_FIXEDPOINT "Use fixed point arithmetic in the Splash backend" OFF)
45
59
option(USE_FLOAT "Use single precision arithmetic in the Splash backend" OFF)
60
option(BUILD_SHARED_LIBS "Build poppler as a shared library" ON)
47
62
option(ENABLE_RELOCATABLE "Do not hardcode the poppler library location (on Windows)." ON)
49
64
set(ENABLE_RELOCATABLE OFF)
66
option(EXTRA_WARN "Enable extra compile warnings" OFF)
52
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
53
set(SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share" CACHE STRING "Share directory name")
68
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
55
70
set(TESTDATADIR "${CMAKE_SOURCE_DIR}/../test" CACHE STRING "Specify test data dir.")
56
71
if(NOT (EXISTS ${TESTDATADIR} AND EXISTS ${TESTDATADIR}/test-poppler.c))
84
99
set(WITH_FONTCONFIGURATION_WIN32 ON)
85
100
elseif(font_configuration STREQUAL "fontconfig")
86
101
set(WITH_FONTCONFIGURATION_FONTCONFIG ON)
87
else(font_configuration STREQUAL "win32")
88
103
message(FATAL_ERROR "Invalid font configuration setting: ${FONT_CONFIGURATION}")
89
endif(font_configuration STREQUAL "win32")
106
if(CMAKE_USE_PTHREADS_INIT OR WIN32)
107
set(MULTITHREADED ON)
91
110
# Enable these unconditionally.
93
111
set(OPI_SUPPORT ON)
94
112
set(TEXTOUT_WORD_LIST ON)
96
114
# setting the minimum required versions for some components
97
set(QT4_MIN_VERSION "4.7.0")
98
115
set(CAIRO_VERSION "1.10.0")
99
116
set(GLIB_REQUIRED "2.41")
102
119
find_package(Freetype REQUIRED)
103
120
if(WITH_FONTCONFIGURATION_FONTCONFIG)
104
121
find_package(Fontconfig REQUIRED)
105
endif(WITH_FONTCONFIGURATION_FONTCONFIG)
106
123
macro_optional_find_package(JPEG)
107
124
macro_optional_find_package(PNG)
108
125
macro_optional_find_package(TIFF)
109
126
macro_optional_find_package(NSS3)
111
set(ENABLE_LIBJPEG ${JPEG_FOUND})
113
macro_optional_find_package(Qt4)
114
if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.7)
127
if(ENABLE_DCTDECODER STREQUAL "libjpeg")
129
set(ENABLE_LIBJPEG ${JPEG_FOUND})
131
message(FATAL_ERROR "Install libjpeg before trying to build poppler. You can also decide to use the internal unmaintained DCT decoder or none at all.")
133
set(HAVE_DCT_DECODER ON)
134
elseif(ENABLE_DCTDECODER STREQUAL "unmaintained")
135
set(ENABLE_LIBJPEG OFF)
136
set(HAVE_DCT_DECODER ON)
137
elseif(ENABLE_DCTDECODER STREQUAL "none")
138
set(ENABLE_LIBJPEG OFF)
139
set(HAVE_DCT_DECODER OFF)
141
message(FATAL_ERROR "Invalid ENABLE_DCTDECODER value.")
115
145
find_package(Qt5Core)
116
146
find_package(Qt5Gui)
117
147
find_package(Qt5Xml)
118
148
find_package(Qt5Widgets)
119
149
find_package(Qt5Test)
120
if (Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Xml_FOUND AND Qt5Widgets_FOUND AND Qt5Test_FOUND)
150
if (NOT (Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Xml_FOUND AND Qt5Widgets_FOUND AND Qt5Test_FOUND))
123
151
message("-- Package Qt5Core or Qt5Gui or Qt5Xml or Qt5Widgets or Qt5Test not found")
126
else(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.7)
128
message("-- CMake >= 2.8.8 is needed to enable Qt5")
129
endif(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.7)
131
156
macro_optional_find_package(Cairo ${CAIRO_VERSION})
135
160
set(CAIRO_REQ "cairo")
136
161
set(POPPLER_GLIB_DISABLE_DEPRECATED "")
137
162
set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "")
138
macro_optional_find_package(GLIB)
164
macro_optional_find_package(GLIB)
141
170
# Check for introspection
142
171
macro_optional_find_package(GObjectIntrospection 0.9.12)
143
172
set(HAVE_INTROSPECTION ${INTROSPECTION_FOUND})
144
173
set(POPPLER_GLIB_DISABLE_DEPRECATED "${POPPLER_GLIB_DISABLE_DEPRECATED} -DG_DISABLE_DEPRECATED")
145
174
set(POPPLER_GLIB_DISABLE_SINGLE_INCLUDES "${POPPLER_GLIB_DISABLE_SINGLE_INCLUDES} -DG_DISABLE_SINGLE_INCLUDES")
146
175
macro_optional_find_package(GTK)
149
178
set(CAIRO_FEATURE "#undef POPPLER_HAS_CAIRO")
152
182
macro_optional_find_package(Iconv)
153
183
set(ENABLE_CPP ${ICONV_FOUND})
154
184
set(HAVE_ICONV ${ICONV_FOUND})
157
187
find_package(ZLIB)
159
set(HAVE_LIBZ ${ZLIB_FOUND})
161
188
set(ENABLE_ZLIB ${ZLIB_FOUND})
163
190
if(ENABLE_ZLIB_UNCOMPRESS AND NOT ENABLE_ZLIB)
164
191
message("Warning: ENABLE_ZLIB_UNCOMPRESS requires ENABLE_ZLIB")
165
192
set(ENABLE_ZLIB_UNCOMPRESS FALSE)
166
endif(ENABLE_ZLIB_UNCOMPRESS AND NOT ENABLE_ZLIB)
167
set(USE_OPENJPEG1 FALSE)
168
set(USE_OPENJPEG2 FALSE)
169
194
set(WITH_OPENJPEG FALSE)
170
if(ENABLE_LIBOPENJPEG STREQUAL "auto")
195
if(ENABLE_LIBOPENJPEG STREQUAL "openjpeg2")
171
196
find_package(LIBOPENJPEG2)
172
set(USE_OPENJPEG2 ${LIBOPENJPEG2_FOUND})
173
197
set(WITH_OPENJPEG ${LIBOPENJPEG2_FOUND})
174
198
if(NOT LIBOPENJPEG2_FOUND)
175
find_package(LIBOPENJPEG)
176
set(USE_OPENJPEG1 ${LIBOPENJPEG_FOUND})
177
set(WITH_OPENJPEG ${LIBOPENJPEG_FOUND})
199
message(FATAL_ERROR "Install libopenjpeg2 before trying to build poppler. You can also decide to use the internal unmaintained JPX decoder or none at all.")
179
elseif(ENABLE_LIBOPENJPEG STREQUAL "openjpeg1")
180
find_package(LIBOPENJPEG)
181
set(USE_OPENJPEG1 ${LIBOPENJPEG_FOUND})
182
set(WITH_OPENJPEG ${LIBOPENJPEG_FOUND})
183
elseif(ENABLE_LIBOPENJPEG STREQUAL "openjpeg2")
184
find_package(LIBOPENJPEG2)
185
set(USE_OPENJPEG2 ${LIBOPENJPEG2_FOUND})
186
set(WITH_OPENJPEG ${LIBOPENJPEG2_FOUND})
201
set(HAVE_JPX_DECODER ON)
202
elseif(ENABLE_LIBOPENJPEG STREQUAL "unmaintained")
203
set(WITH_OPENJPEG OFF)
204
set(HAVE_JPX_DECODER ON)
205
elseif(ENABLE_LIBOPENJPEG STREQUAL "none")
206
set(WITH_OPENJPEG OFF)
207
set(HAVE_JPX_DECODER OFF)
209
message(FATAL_ERROR "Invalid ENABLE_LIBOPENJPEG value: ${ENABLE_LIBOPENJPEG}")
188
211
set(ENABLE_LIBOPENJPEG "${WITH_OPENJPEG}")
189
if(ENABLE_CMS STREQUAL "auto")
191
set(USE_CMS ${LCMS2_FOUND})
194
set(USE_CMS ${LCMS_FOUND})
195
set(USE_LCMS1 ${LCMS_FOUND})
196
endif(NOT LCMS2_FOUND)
197
elseif(ENABLE_CMS STREQUAL "lcms1")
199
set(USE_CMS ${LCMS_FOUND})
200
set(USE_LCMS1 ${LCMS_FOUND})
201
elseif(ENABLE_CMS STREQUAL "lcms2")
203
set(USE_CMS ${LCMS2_FOUND})
212
if(ENABLE_CMS STREQUAL "lcms2")
214
set(USE_CMS ${LCMS2_FOUND})
215
elseif(NOT ENABLE_CMS STREQUAL "none")
216
message(FATAL_ERROR "Invalid ENABLE_CMS value: ${ENABLE_CMS}")
205
218
if(ENABLE_LIBCURL)
206
219
find_package(CURL)
207
include_directories(${CURL_INCLUDE_DIR})
208
set(POPPLER_HAS_CURL_SUPPORT ON)
209
endif(ENABLE_LIBCURL)
221
include_directories(${CURL_INCLUDE_DIR})
222
set(POPPLER_HAS_CURL_SUPPORT ON)
224
set(ENABLE_LIBCURL OFF)
211
add_definitions(-DHAVE_CONFIG_H=1)
213
229
# Use mingw's ansi stdio extensions
214
230
add_definitions(-D__USE_MINGW_ANSI_STDIO=1)
216
232
if(FONTCONFIG_FOUND)
217
233
add_definitions(${FONTCONFIG_DEFINITIONS})
218
234
include_directories(${FONTCONFIG_INCLUDE_DIR})
219
endif(FONTCONFIG_FOUND)
220
236
if(WITH_FONTCONFIGURATION_WIN32)
222
238
# Set the minimum required Internet Explorer version to 5.0
223
239
add_definitions(-D_WIN32_IE=0x0500)
225
endif(WITH_FONTCONFIGURATION_WIN32)
226
242
include_directories(
227
243
${CMAKE_CURRENT_SOURCE_DIR}
228
244
${CMAKE_CURRENT_SOURCE_DIR}/fofi
232
248
${CMAKE_CURRENT_BINARY_DIR}/poppler
233
249
${FREETYPE_INCLUDE_DIRS}
235
set(HAVE_FREETYPE_H ON)
236
if(CMAKE_USE_PTHREADS_INIT)
238
endif(CMAKE_USE_PTHREADS_INIT)
241
253
include_directories(${ZLIB_INCLUDE_DIR})
245
257
add_definitions(${NSS3_CFLAGS})
246
258
set(ENABLE_NSS3 ON)
249
261
include_directories(${JPEG_INCLUDE_DIR})
250
set(ENABLE_LIBJPEG ON)
253
264
include_directories(${PNG_INCLUDE_DIR})
254
265
set(ENABLE_LIBPNG ON)
257
268
include_directories(${TIFF_INCLUDE_DIR})
258
269
set(ENABLE_LIBTIFF ON)
260
if(LIBOPENJPEG_FOUND)
261
include_directories(${LIBOPENJPEG_INCLUDE_DIR})
262
endif(LIBOPENJPEG_FOUND)
263
271
if(LIBOPENJPEG2_FOUND)
264
272
include_directories(${LIBOPENJPEG2_INCLUDE_DIRS})
267
include_directories(${LCMS_INCLUDE_DIR})
270
275
include_directories(${LCMS2_INCLUDE_DIR})
273
278
# Recent versions of poppler-data install a .pc file.
274
279
# Use it to determine the encoding data path, if available.
280
285
OUTPUT_VARIABLE _output_var OUTPUT_STRIP_TRAILING_WHITESPACE)
281
286
if(_result_var STREQUAL "0" AND NOT _output_var STREQUAL "")
282
287
set(POPPLER_DATADIR "${_output_var}")
283
endif(_result_var STREQUAL "0" AND NOT _output_var STREQUAL "")
284
endif(POPPLER_DATA_FOUND)
285
290
if(NOT DEFINED POPPLER_DATADIR)
286
291
set(POPPLER_DATADIR "${CMAKE_INSTALL_PREFIX}/share/poppler")
287
endif(NOT DEFINED POPPLER_DATADIR)
289
if(DEFINED COMPILE_WARNINGS)
290
else(DEFINED COMPILE_WARNINGS)
291
set(COMPILE_WARNINGS "yes")
292
endif(DEFINED COMPILE_WARNINGS)
293
string(TOLOWER "${COMPILE_WARNINGS}" _comp_warnings)
294
if(_comp_warnings STREQUAL "no")
295
set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_NO} ${CMAKE_CXX_FLAGS}")
296
endif(_comp_warnings STREQUAL "no")
297
if(_comp_warnings STREQUAL "yes")
298
set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
299
set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_YES} ${CMAKE_CXX_FLAGS}")
300
endif(_comp_warnings STREQUAL "yes")
301
if(_comp_warnings STREQUAL "kde")
302
set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
303
set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_KDE} ${CMAKE_CXX_FLAGS}")
304
endif(_comp_warnings STREQUAL "kde")
295
set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
296
set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS_EXTRA} ${CMAKE_CXX_FLAGS}")
298
set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
299
set(CMAKE_CXX_FLAGS "${DEFAULT_COMPILE_WARNINGS} ${CMAKE_CXX_FLAGS}")
307
303
include(ConfigureChecks.cmake)
415
411
splash/SplashPattern.cc
416
412
splash/SplashScreen.cc
417
413
splash/SplashState.cc
418
splash/SplashT1Font.cc
419
splash/SplashT1FontEngine.cc
420
splash/SplashT1FontFile.cc
421
414
splash/SplashXPath.cc
422
415
splash/SplashXPathScanner.cc
425
418
if(FONTCONFIG_FOUND)
426
419
set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
427
endif(FONTCONFIG_FOUND)
430
423
set(poppler_SRCS ${poppler_SRCS}
431
424
poppler/DCTStream.cc
433
426
set(poppler_LIBS ${poppler_LIBS} ${JPEG_LIBRARIES})
436
429
set(poppler_SRCS ${poppler_SRCS}
437
430
poppler/FlateEncoder.cc
439
432
set(poppler_LIBS ${poppler_LIBS} ${ZLIB_LIBRARIES})
441
434
if(ENABLE_ZLIB_UNCOMPRESS)
442
435
set(poppler_SRCS ${poppler_SRCS}
443
436
poppler/FlateStream.cc
445
endif(ENABLE_ZLIB_UNCOMPRESS)
446
439
if(ENABLE_LIBCURL)
447
440
set(poppler_SRCS ${poppler_SRCS}
448
441
poppler/CurlCachedFile.cc
449
442
poppler/CurlPDFDocBuilder.cc
451
444
set(poppler_LIBS ${poppler_LIBS} ${CURL_LIBRARIES})
452
endif(ENABLE_LIBCURL)
454
447
set(poppler_SRCS ${poppler_SRCS}
455
448
poppler/SignatureHandler.cc
457
450
set(poppler_LIBS ${poppler_LIBS} ${NSS3_LIBRARIES})
459
if(LIBOPENJPEG_FOUND)
460
set(poppler_SRCS ${poppler_SRCS}
461
poppler/JPEG2000Stream.cc
463
set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG_LIBRARIES})
464
add_definitions(-DUSE_OPENJPEG1)
465
elseif (LIBOPENJPEG2_FOUND)
466
set(poppler_SRCS ${poppler_SRCS}
467
poppler/JPEG2000Stream.cc
469
add_definitions(-DUSE_OPENJPEG2)
452
if (LIBOPENJPEG2_FOUND)
453
set(poppler_SRCS ${poppler_SRCS}
454
poppler/JPEG2000Stream.cc
470
456
set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG2_LIBRARIES})
472
458
set(poppler_SRCS ${poppler_SRCS}
478
set(poppler_LIBS ${poppler_LIBS} ${LCMS_LIBRARIES})
481
set(poppler_LIBS ${poppler_LIBS} ${LCMS2_LIBRARIES})
463
set(poppler_LIBS ${poppler_LIBS} ${LCMS2_LIBRARIES})
467
add_definitions(-DWIN32_LEAN_AND_MEAN)
485
468
# gdi32 is needed under win32
486
469
set(poppler_LIBS ${poppler_LIBS} gdi32)
489
472
set(poppler_LIBS ${poppler_LIBS} ${PNG_LIBRARIES})
492
475
set(poppler_LIBS ${poppler_LIBS} ${TIFF_LIBRARIES})
495
set(poppler_LIBS ${poppler_LIBS} ${CMAKE_THREAD_LIBS_INIT})
499
479
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
500
480
set(CMAKE_CXX_FLAGS "/Zc:wchar_t- ${CMAKE_CXX_FLAGS}")
501
481
add_library(poppler STATIC ${poppler_SRCS})
503
add_library(poppler SHARED ${poppler_SRCS})
505
set_target_properties(poppler PROPERTIES VERSION 66.0.0 SOVERSION 66)
483
add_library(poppler ${poppler_SRCS})
485
set_target_properties(poppler PROPERTIES VERSION 73.0.0 SOVERSION 73)
487
get_target_property(POPPLER_SOVERSION poppler SOVERSION)
488
set_target_properties(poppler PROPERTIES SUFFIX "-${POPPLER_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
506
490
target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS})
507
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
491
if(CMAKE_USE_PTHREADS_INIT)
492
target_link_libraries(poppler LINK_PRIVATE Threads::Threads)
494
install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
509
496
if(ENABLE_XPDF_HEADERS)
663
645
splash/SplashPattern.h
664
646
splash/SplashScreen.h
665
647
splash/SplashState.h
666
splash/SplashT1Font.h
667
splash/SplashT1FontEngine.h
668
splash/SplashT1FontFile.h
669
648
splash/SplashTypes.h
670
649
splash/SplashXPath.h
671
650
splash/SplashXPathScanner.h
672
651
DESTINATION include/poppler/splash)
674
endif(ENABLE_XPDF_HEADERS)
678
657
add_subdirectory(utils)
681
660
add_subdirectory(glib)
683
662
add_subdirectory(test)
685
add_subdirectory(qt4)
688
664
add_subdirectory(qt5)
691
667
add_subdirectory(cpp)
694
670
set(PKG_CONFIG_VERSION_0_18 TRUE)
695
671
if(PKG_CONFIG_EXECUTABLE)
696
672
exec_program(${PKG_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _output_VAR)
697
673
macro_ensure_version("0.18" "${_output_VAR}" PKG_CONFIG_VERSION_0_18)
698
endif(PKG_CONFIG_EXECUTABLE)
699
675
if(PKG_CONFIG_VERSION_0_18)
700
676
set(PC_REQUIRES "")
701
677
set(PC_REQUIRES_PRIVATE "Requires.private: poppler = ${POPPLER_VERSION}")
702
else(PKG_CONFIG_VERSION_0_18)
703
679
set(PC_REQUIRES "poppler = ${POPPLER_VERSION}")
704
680
set(PC_REQUIRES_PRIVATE "")
705
endif(PKG_CONFIG_VERSION_0_18)
707
poppler_create_install_pkgconfig(poppler.pc lib${LIB_SUFFIX}/pkgconfig)
683
poppler_create_install_pkgconfig(poppler.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
708
684
if(ENABLE_SPLASH)
709
poppler_create_install_pkgconfig(poppler-splash.pc lib${LIB_SUFFIX}/pkgconfig)
712
poppler_create_install_pkgconfig(poppler-qt4.pc lib${LIB_SUFFIX}/pkgconfig)
715
poppler_create_install_pkgconfig(poppler-qt5.pc lib${LIB_SUFFIX}/pkgconfig)
685
poppler_create_install_pkgconfig(poppler-splash.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
688
poppler_create_install_pkgconfig(poppler-qt5.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
718
poppler_create_install_pkgconfig(poppler-glib.pc lib${LIB_SUFFIX}/pkgconfig)
691
poppler_create_install_pkgconfig(poppler-glib.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
721
poppler_create_install_pkgconfig(poppler-cairo.pc lib${LIB_SUFFIX}/pkgconfig)
694
poppler_create_install_pkgconfig(poppler-cairo.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
724
poppler_create_install_pkgconfig(poppler-cpp.pc lib${LIB_SUFFIX}/pkgconfig)
697
poppler_create_install_pkgconfig(poppler-cpp.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
728
701
message("Building Poppler with support for:")
732
705
message(" with CMYK support")
734
707
show_end_message_yesno("cairo output" CAIRO_FOUND)
735
show_end_message_yesno("qt4 wrapper" QT4_FOUND)
736
show_end_message_yesno("qt5 wrapper" QT5_FOUND)
708
show_end_message_yesno("qt5 wrapper" ENABLE_QT5)
737
709
show_end_message_yesno("glib wrapper" ENABLE_GLIB)
738
710
show_end_message_yesno(" introspection" INTROSPECTION_FOUND)
711
show_end_message_yesno(" gtk-doc" ENABLE_GTK_DOC)
739
712
show_end_message_yesno("cpp wrapper" ENABLE_CPP)
740
show_end_message("use gtk-doc" "not supported with this CMake build system")
741
713
show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
742
714
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
743
715
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
745
717
show_end_message_yesno("use zlib uncompress" ENABLE_ZLIB_UNCOMPRESS)
746
718
show_end_message_yesno("use nss3" ENABLE_NSS3)
747
719
show_end_message_yesno("use curl" ENABLE_LIBCURL)
748
show_end_message_yesno("use libopenjpeg" WITH_OPENJPEG)
750
message(" with openjpeg1")
753
message(" with openjpeg2")
755
show_end_message_yesno("use cms" USE_CMS)
757
message(" with lcms1")
760
message(" with lcms2")
720
show_end_message_yesno("use libopenjpeg2" WITH_OPENJPEG)
721
show_end_message_yesno("use lcms2" USE_CMS)
762
722
show_end_message_yesno("command line utils" ENABLE_UTILS)
763
723
show_end_message("test data dir" ${TESTDATADIR})
765
725
if(NOT ENABLE_SPLASH AND NOT CAIRO_FOUND)
766
726
message("Warning: There is no rendering backend enabled")
767
endif(NOT ENABLE_SPLASH AND NOT CAIRO_FOUND)
769
729
if(USE_FIXEDPOINT AND USE_FLOAT)
770
730
message("Warning: Single precision and fixed point options should not be enabled at the same time")
771
endif(USE_FIXEDPOINT AND USE_FLOAT)
773
if(NOT ENABLE_LIBJPEG)
733
if(NOT ENABLE_LIBJPEG AND HAVE_DCT_DECODER)
774
734
message("Warning: Using libjpeg is recommended. The internal DCT decoder is unmaintained.")
775
endif(NOT ENABLE_LIBJPEG)
737
if(NOT HAVE_DCT_DECODER)
738
message("Warning: You're not compiling any DCT decoder. Some files will fail to display properly.")
777
741
if(ENABLE_ZLIB_UNCOMPRESS)
778
742
message("Warning: Using zlib is not totally safe")
779
endif(ENABLE_ZLIB_UNCOMPRESS)
781
if(NOT WITH_OPENJPEG)
745
if(NOT WITH_OPENJPEG AND HAVE_JPX_DECODER)
782
746
message("Warning: Using libopenjpeg2 is recommended. The internal JPX decoder is unmaintained.")
783
endif(NOT WITH_OPENJPEG)
749
if(NOT HAVE_JPX_DECODER)
750
message("Warning: You're not compiling any JPX decoder. Some files will fail to display properly.")
753
set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${POPPLER_VERSION})
754
add_custom_target(dist
756
COMMAND git log --stat | fmt --split-only > ${CMAKE_BINARY_DIR}/ChangeLog
757
COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
758
COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar ChangeLog --transform='s,,${ARCHIVE_NAME}/,'
759
COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar glib/reference/html --transform='s,,${ARCHIVE_NAME}/,'
760
COMMAND xz -9 ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
761
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})