blob: 8334d0f5ee86ea2ec1363ee40fdd7b1e8701bcf0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
if (HAVE_NANOSLEEP OR LIB_RT_HAS_NANOSLEEP)
set (perf_test_SRCS
perf-test.cc
perf-test-preview-dummy.cc
)
add_executable(perf-test ${perf_test_SRCS})
target_link_libraries(perf-test poppler)
if (LIB_RT_HAS_NANOSLEEP)
target_link_libraries(perf-test rt)
endif ()
endif ()
if (GTK_FOUND)
include_directories(
${CMAKE_SOURCE_DIR}/glib
${CMAKE_BINARY_DIR}/glib
)
set (gtk_splash_test_SRCS
gtk-test.cc
)
poppler_add_test(gtk-test BUILD_GTK_TESTS ${gtk_splash_test_SRCS})
target_link_libraries(gtk-test ${CAIRO_LIBRARIES} poppler-glib PkgConfig::GTK3)
target_include_directories(gtk-test SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
if (HAVE_CAIRO)
set (pdf_inspector_SRCS
pdf-inspector.cc
${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc
${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
)
poppler_add_test(pdf-inspector BUILD_GTK_TESTS ${pdf_inspector_SRCS})
target_link_libraries(pdf-inspector ${CAIRO_LIBRARIES} Freetype::Freetype ${common_libs} PkgConfig::GTK3 poppler)
target_include_directories(pdf-inspector SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
target_compile_definitions(pdf-inspector PRIVATE -DSRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
endif ()
endif ()
if (HAVE_CAIRO)
include_directories(
SYSTEM
${CAIRO_INCLUDE_DIRS}
)
include(CheckCXXSymbolExists)
set (CMAKE_REQUIRED_INCLUDES ${CAIRO_INCLUDE_DIRS})
check_cxx_symbol_exists(CAIRO_HAS_PNG_FUNCTIONS "cairo.h" HAVE_CAIRO_PNG)
check_cxx_symbol_exists(CAIRO_HAS_PDF_SURFACE "cairo.h" HAVE_CAIRO_PDF)
check_cxx_symbol_exists(CAIRO_HAS_PS_SURFACE "cairo.h" HAVE_CAIRO_PS)
check_cxx_symbol_exists(CAIRO_HAS_SVG_SURFACE "cairo.h" HAVE_CAIRO_SVG)
if (HAVE_CAIRO_PNG AND HAVE_CAIRO_PDF AND HAVE_CAIRO_PS AND HAVE_CAIRO_SVG)
find_package(Threads)
set(cairo_thread_test_SRCS
cairo-thread-test.cc
${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc
${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
)
add_executable(cairo-thread-test ${cairo_thread_test_SRCS})
target_link_libraries(cairo-thread-test ${CAIRO_LIBRARIES} Freetype::Freetype Threads::Threads poppler)
target_include_directories(cairo-thread-test SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
endif ()
endif ()
set (pdf_fullrewrite_SRCS
pdf-fullrewrite.cc
../utils/parseargs.cc
)
add_executable(pdf-fullrewrite ${pdf_fullrewrite_SRCS})
target_link_libraries(pdf-fullrewrite poppler)
# Tests for the image embedding API.
if(ENABLE_LIBPNG OR ENABLE_LIBJPEG)
set(image_embedding_SRCS
image-embedding.cc
../utils/parseargs.cc
)
add_executable(image-embedding ${image_embedding_SRCS})
target_link_libraries(image-embedding poppler)
set(INPUT_PDF ${TESTDATADIR}/unittestcases/xr01.pdf)
set(IMG_DIR ${TESTDATADIR}/unittestcases/images)
set(IMAGE_EMBEDDING_PATH ${EXECUTABLE_OUTPUT_PATH}/image-embedding)
if (ENABLE_LIBPNG)
add_test(
NAME embed-png-g1
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-g1.png -depth 8 -colorspace DeviceGray
)
add_test(
NAME embed-png-g2
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-g2.png -depth 8 -colorspace DeviceGray
)
add_test(
NAME embed-png-g4
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-g4.png -depth 8 -colorspace DeviceGray
)
add_test(
NAME embed-png-g8
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-g8.png -depth 8 -colorspace DeviceGray
)
add_test(
NAME embed-png-g16
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-g16.png -depth 16 -colorspace DeviceGray
)
add_test(
NAME embed-png-ga8
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-ga8.png -depth 8 -colorspace DeviceGray -smask
)
add_test(
NAME embed-png-ga16
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-ga16.png -depth 16 -colorspace DeviceGray -smask
)
add_test(
NAME embed-png-palette
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-palette.png -depth 8 -colorspace DeviceRGB
)
add_test(
NAME embed-png-rgb8
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-rgb8.png -depth 8 -colorspace DeviceRGB
)
add_test(
NAME embed-png-rgb16
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-rgb16.png -depth 16 -colorspace DeviceRGB
)
add_test(
NAME embed-png-rgba8
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-rgba8.png -depth 8 -colorspace DeviceRGB -smask
)
add_test(
NAME embed-png-rgba16
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/png-rgba16.png -depth 16 -colorspace DeviceRGB -smask
)
add_test(
NAME embed-malformed-png
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/malformed.png -fail
)
endif()
if(ENABLE_LIBJPEG)
add_test(
NAME embed-jpeg
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/jpeg.jpg -depth 8 -colorspace DeviceRGB -filter DCTDecode
)
add_test(
NAME embed-malformed-jpeg
COMMAND ${IMAGE_EMBEDDING_PATH} ${INPUT_PDF} ${IMG_DIR}/malformed.jpg -fail
)
endif()
unset(IMAGE_EMBEDDING_PATH)
unset(IMG_DIR)
unset(INPUT_PDF)
endif()
|