0
|
1 # ./configure --disable-pdf --disable-svg --disable-xlib --disable-xcb --disable-script --disable-ps --disable-ft --disable-fc --disable-png --disable-trace --disable-interpreter
|
|
2
|
|
3
|
|
4 if (STATIC_BUILD OR NOT USE_SYSTEM_CAIRO)
|
|
5 SET(CAIRO_SOURCES_DIR ${CMAKE_BINARY_DIR}/cairo-1.14.6)
|
|
6 SET(CAIRO_URL "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/Stone/cairo-1.14.6.tar.xz")
|
|
7 SET(CAIRO_MD5 "23a0b2f0235431d35238df1d3a517fdb")
|
|
8
|
|
9 DownloadPackage(${CAIRO_MD5} ${CAIRO_URL} "${CAIRO_SOURCES_DIR}")
|
|
10
|
|
11 file(COPY
|
|
12 ${CMAKE_CURRENT_LIST_DIR}/cairo-features.h
|
|
13 DESTINATION ${CAIRO_SOURCES_DIR}/src
|
|
14 )
|
|
15
|
|
16 set(CAIRO_SOURCES
|
|
17 ${CAIRO_SOURCES_DIR}/src/cairo-analysis-surface.c
|
|
18 ${CAIRO_SOURCES_DIR}/src/cairo-arc.c
|
|
19 ${CAIRO_SOURCES_DIR}/src/cairo-array.c
|
|
20 ${CAIRO_SOURCES_DIR}/src/cairo-atomic.c
|
|
21 ${CAIRO_SOURCES_DIR}/src/cairo-base64-stream.c
|
|
22 ${CAIRO_SOURCES_DIR}/src/cairo-base85-stream.c
|
|
23 ${CAIRO_SOURCES_DIR}/src/cairo-bentley-ottmann.c
|
|
24 ${CAIRO_SOURCES_DIR}/src/cairo-bentley-ottmann-rectangular.c
|
|
25 ${CAIRO_SOURCES_DIR}/src/cairo-bentley-ottmann-rectilinear.c
|
|
26 ${CAIRO_SOURCES_DIR}/src/cairo-botor-scan-converter.c
|
|
27 ${CAIRO_SOURCES_DIR}/src/cairo-boxes.c
|
|
28 ${CAIRO_SOURCES_DIR}/src/cairo-boxes-intersect.c
|
|
29 ${CAIRO_SOURCES_DIR}/src/cairo.c
|
|
30 ${CAIRO_SOURCES_DIR}/src/cairo-cache.c
|
|
31 ${CAIRO_SOURCES_DIR}/src/cairo-cff-subset.c
|
|
32 ${CAIRO_SOURCES_DIR}/src/cairo-clip-boxes.c
|
|
33 ${CAIRO_SOURCES_DIR}/src/cairo-clip.c
|
|
34 ${CAIRO_SOURCES_DIR}/src/cairo-clip-polygon.c
|
|
35 ${CAIRO_SOURCES_DIR}/src/cairo-clip-region.c
|
|
36 ${CAIRO_SOURCES_DIR}/src/cairo-clip-surface.c
|
|
37 ${CAIRO_SOURCES_DIR}/src/cairo-clip-tor-scan-converter.c
|
|
38 # ${CAIRO_SOURCES_DIR}/src/cairo-cogl-context.c
|
|
39 # ${CAIRO_SOURCES_DIR}/src/cairo-cogl-gradient.c
|
|
40 # ${CAIRO_SOURCES_DIR}/src/cairo-cogl-surface.c
|
|
41 # ${CAIRO_SOURCES_DIR}/src/cairo-cogl-utils.c
|
|
42 ${CAIRO_SOURCES_DIR}/src/cairo-color.c
|
|
43 ${CAIRO_SOURCES_DIR}/src/cairo-composite-rectangles.c
|
|
44 ${CAIRO_SOURCES_DIR}/src/cairo-compositor.c
|
|
45 ${CAIRO_SOURCES_DIR}/src/cairo-contour.c
|
|
46 ${CAIRO_SOURCES_DIR}/src/cairo-damage.c
|
|
47 ${CAIRO_SOURCES_DIR}/src/cairo-debug.c
|
|
48 ${CAIRO_SOURCES_DIR}/src/cairo-default-context.c
|
|
49 ${CAIRO_SOURCES_DIR}/src/cairo-deflate-stream.c
|
|
50 ${CAIRO_SOURCES_DIR}/src/cairo-device.c
|
|
51 # ${CAIRO_SOURCES_DIR}/src/cairo-directfb-surface.c
|
|
52 # ${CAIRO_SOURCES_DIR}/src/cairo-egl-context.c
|
|
53 ${CAIRO_SOURCES_DIR}/src/cairo-error.c
|
|
54 ${CAIRO_SOURCES_DIR}/src/cairo-fallback-compositor.c
|
|
55 ${CAIRO_SOURCES_DIR}/src/cairo-fixed.c
|
|
56 ${CAIRO_SOURCES_DIR}/src/cairo-font-face.c
|
|
57 ${CAIRO_SOURCES_DIR}/src/cairo-font-face-twin.c
|
|
58 ${CAIRO_SOURCES_DIR}/src/cairo-font-face-twin-data.c
|
|
59 ${CAIRO_SOURCES_DIR}/src/cairo-font-options.c
|
|
60 ${CAIRO_SOURCES_DIR}/src/cairo-freed-pool.c
|
|
61 ${CAIRO_SOURCES_DIR}/src/cairo-freelist.c
|
|
62 # ${CAIRO_SOURCES_DIR}/src/cairo-ft-font.c
|
|
63 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-composite.c
|
|
64 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-device.c
|
|
65 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-dispatch.c
|
|
66 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-glyphs.c
|
|
67 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-gradient.c
|
|
68 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-info.c
|
|
69 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-msaa-compositor.c
|
|
70 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-operand.c
|
|
71 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-shaders.c
|
|
72 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-source.c
|
|
73 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-spans-compositor.c
|
|
74 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-surface.c
|
|
75 # ${CAIRO_SOURCES_DIR}/src/cairo-gl-traps-compositor.c
|
|
76 # ${CAIRO_SOURCES_DIR}/src/cairo-glx-context.c
|
|
77 ${CAIRO_SOURCES_DIR}/src/cairo-gstate.c
|
|
78 ${CAIRO_SOURCES_DIR}/src/cairo-hash.c
|
|
79 ${CAIRO_SOURCES_DIR}/src/cairo-hull.c
|
|
80 ${CAIRO_SOURCES_DIR}/src/cairo-image-compositor.c
|
|
81 ${CAIRO_SOURCES_DIR}/src/cairo-image-info.c
|
|
82 ${CAIRO_SOURCES_DIR}/src/cairo-image-source.c
|
|
83 ${CAIRO_SOURCES_DIR}/src/cairo-image-surface.c
|
|
84 ${CAIRO_SOURCES_DIR}/src/cairo-line.c
|
|
85 ${CAIRO_SOURCES_DIR}/src/cairo-lzw.c
|
|
86 ${CAIRO_SOURCES_DIR}/src/cairo-mask-compositor.c
|
|
87 ${CAIRO_SOURCES_DIR}/src/cairo-matrix.c
|
|
88 ${CAIRO_SOURCES_DIR}/src/cairo-mempool.c
|
|
89 ${CAIRO_SOURCES_DIR}/src/cairo-mesh-pattern-rasterizer.c
|
|
90 ${CAIRO_SOURCES_DIR}/src/cairo-misc.c
|
|
91 ${CAIRO_SOURCES_DIR}/src/cairo-mono-scan-converter.c
|
|
92 ${CAIRO_SOURCES_DIR}/src/cairo-mutex.c
|
|
93 ${CAIRO_SOURCES_DIR}/src/cairo-no-compositor.c
|
|
94 ${CAIRO_SOURCES_DIR}/src/cairo-observer.c
|
|
95 # ${CAIRO_SOURCES_DIR}/src/cairo-os2-surface.c
|
|
96 ${CAIRO_SOURCES_DIR}/src/cairo-output-stream.c
|
|
97 ${CAIRO_SOURCES_DIR}/src/cairo-paginated-surface.c
|
|
98 ${CAIRO_SOURCES_DIR}/src/cairo-path-bounds.c
|
|
99 ${CAIRO_SOURCES_DIR}/src/cairo-path.c
|
|
100 ${CAIRO_SOURCES_DIR}/src/cairo-path-fill.c
|
|
101 ${CAIRO_SOURCES_DIR}/src/cairo-path-fixed.c
|
|
102 ${CAIRO_SOURCES_DIR}/src/cairo-path-in-fill.c
|
|
103 ${CAIRO_SOURCES_DIR}/src/cairo-path-stroke-boxes.c
|
|
104 ${CAIRO_SOURCES_DIR}/src/cairo-path-stroke.c
|
|
105 ${CAIRO_SOURCES_DIR}/src/cairo-path-stroke-polygon.c
|
|
106 ${CAIRO_SOURCES_DIR}/src/cairo-path-stroke-traps.c
|
|
107 ${CAIRO_SOURCES_DIR}/src/cairo-path-stroke-tristrip.c
|
|
108 ${CAIRO_SOURCES_DIR}/src/cairo-pattern.c
|
|
109 # ${CAIRO_SOURCES_DIR}/src/cairo-pdf-operators.c
|
|
110 # ${CAIRO_SOURCES_DIR}/src/cairo-pdf-shading.c
|
|
111 # ${CAIRO_SOURCES_DIR}/src/cairo-pdf-surface.c
|
|
112 ${CAIRO_SOURCES_DIR}/src/cairo-pen.c
|
|
113 # ${CAIRO_SOURCES_DIR}/src/cairo-png.c
|
|
114 ${CAIRO_SOURCES_DIR}/src/cairo-polygon.c
|
|
115 ${CAIRO_SOURCES_DIR}/src/cairo-polygon-intersect.c
|
|
116 ${CAIRO_SOURCES_DIR}/src/cairo-polygon-reduce.c
|
|
117 # ${CAIRO_SOURCES_DIR}/src/cairo-ps-surface.c
|
|
118 # ${CAIRO_SOURCES_DIR}/src/cairo-quartz-font.c
|
|
119 # ${CAIRO_SOURCES_DIR}/src/cairo-quartz-image-surface.c
|
|
120 # ${CAIRO_SOURCES_DIR}/src/cairo-quartz-surface.c
|
|
121 ${CAIRO_SOURCES_DIR}/src/cairo-raster-source-pattern.c
|
|
122 ${CAIRO_SOURCES_DIR}/src/cairo-recording-surface.c
|
|
123 ${CAIRO_SOURCES_DIR}/src/cairo-rectangle.c
|
|
124 ${CAIRO_SOURCES_DIR}/src/cairo-rectangular-scan-converter.c
|
|
125 ${CAIRO_SOURCES_DIR}/src/cairo-region.c
|
|
126 ${CAIRO_SOURCES_DIR}/src/cairo-rtree.c
|
|
127 ${CAIRO_SOURCES_DIR}/src/cairo-scaled-font.c
|
|
128 ${CAIRO_SOURCES_DIR}/src/cairo-scaled-font-subsets.c
|
|
129 # ${CAIRO_SOURCES_DIR}/src/cairo-script-surface.c
|
|
130 ${CAIRO_SOURCES_DIR}/src/cairo-shape-mask-compositor.c
|
|
131 ${CAIRO_SOURCES_DIR}/src/cairo-slope.c
|
|
132 ${CAIRO_SOURCES_DIR}/src/cairo-spans.c
|
|
133 ${CAIRO_SOURCES_DIR}/src/cairo-spans-compositor.c
|
|
134 ${CAIRO_SOURCES_DIR}/src/cairo-spline.c
|
|
135 ${CAIRO_SOURCES_DIR}/src/cairo-stroke-dash.c
|
|
136 ${CAIRO_SOURCES_DIR}/src/cairo-stroke-style.c
|
|
137 ${CAIRO_SOURCES_DIR}/src/cairo-surface.c
|
|
138 ${CAIRO_SOURCES_DIR}/src/cairo-surface-clipper.c
|
|
139 ${CAIRO_SOURCES_DIR}/src/cairo-surface-fallback.c
|
|
140 ${CAIRO_SOURCES_DIR}/src/cairo-surface-observer.c
|
|
141 ${CAIRO_SOURCES_DIR}/src/cairo-surface-offset.c
|
|
142 ${CAIRO_SOURCES_DIR}/src/cairo-surface-snapshot.c
|
|
143 ${CAIRO_SOURCES_DIR}/src/cairo-surface-subsurface.c
|
|
144 ${CAIRO_SOURCES_DIR}/src/cairo-surface-wrapper.c
|
|
145 # ${CAIRO_SOURCES_DIR}/src/cairo-svg-surface.c
|
|
146 # ${CAIRO_SOURCES_DIR}/src/cairo-tee-surface.c
|
|
147 ${CAIRO_SOURCES_DIR}/src/cairo-time.c
|
|
148 ${CAIRO_SOURCES_DIR}/src/cairo-tor22-scan-converter.c
|
|
149 ${CAIRO_SOURCES_DIR}/src/cairo-tor-scan-converter.c
|
|
150 ${CAIRO_SOURCES_DIR}/src/cairo-toy-font-face.c
|
|
151 ${CAIRO_SOURCES_DIR}/src/cairo-traps.c
|
|
152 ${CAIRO_SOURCES_DIR}/src/cairo-traps-compositor.c
|
|
153 ${CAIRO_SOURCES_DIR}/src/cairo-tristrip.c
|
|
154 ${CAIRO_SOURCES_DIR}/src/cairo-truetype-subset.c
|
|
155 ${CAIRO_SOURCES_DIR}/src/cairo-type1-fallback.c
|
|
156 ${CAIRO_SOURCES_DIR}/src/cairo-type1-glyph-names.c
|
|
157 ${CAIRO_SOURCES_DIR}/src/cairo-type1-subset.c
|
|
158 ${CAIRO_SOURCES_DIR}/src/cairo-type3-glyph-surface.c
|
|
159 ${CAIRO_SOURCES_DIR}/src/cairo-unicode.c
|
|
160 ${CAIRO_SOURCES_DIR}/src/cairo-user-font.c
|
|
161 ${CAIRO_SOURCES_DIR}/src/cairo-version.c
|
|
162 # ${CAIRO_SOURCES_DIR}/src/cairo-vg-surface.c
|
|
163 # ${CAIRO_SOURCES_DIR}/src/cairo-wgl-context.c
|
|
164 ${CAIRO_SOURCES_DIR}/src/cairo-wideint.c
|
|
165 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-connection.c
|
|
166 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-connection-core.c
|
|
167 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-connection-render.c
|
|
168 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-connection-shm.c
|
|
169 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-resources.c
|
|
170 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-screen.c
|
|
171 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-shm.c
|
|
172 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-surface.c
|
|
173 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-surface-core.c
|
|
174 # ${CAIRO_SOURCES_DIR}/src/cairo-xcb-surface-render.c
|
|
175 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-core-compositor.c
|
|
176 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-display.c
|
|
177 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-fallback-compositor.c
|
|
178 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-render-compositor.c
|
|
179 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-screen.c
|
|
180 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-source.c
|
|
181 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-surface.c
|
|
182 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-surface-shm.c
|
|
183 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-visual.c
|
|
184 # ${CAIRO_SOURCES_DIR}/src/cairo-xlib-xcb-surface.c
|
|
185 # ${CAIRO_SOURCES_DIR}/src/cairo-xml-surface.c
|
|
186 )
|
|
187
|
|
188 include_directories(${CAIRO_SOURCES_DIR}/src)
|
|
189
|
|
190 set(CAIRO_DEFINITIONS "HAS_PIXMAN_GLYPHS=1")
|
|
191
|
|
192 if (CMAKE_COMPILER_IS_GNUCXX)
|
|
193 set(CAIRO_DEFINITIONS "${CAIRO_DEFINITIONS};HAVE_STDINT_H=1;CAIRO_HAS_PTHREAD=1;HAVE_UINT64_T=1")
|
|
194
|
|
195 if (${CMAKE_SYSTEM_NAME} STREQUAL "PNaCl")
|
|
196 # Disable vectorized instructions when targeting archicture-independent PNaCl
|
|
197 else()
|
|
198 set(CAIRO_DEFINITIONS "${CAIRO_DEFINITIONS};CAIRO_HAS_REAL_PTHREAD=1;HAVE_GCC_VECTOR_EXTENSIONS;HAVE_FLOAT128")
|
|
199 endif()
|
|
200
|
|
201 set_property(
|
|
202 SOURCE ${CAIRO_SOURCES}
|
|
203 PROPERTY COMPILE_FLAGS "-Wno-attributes"
|
|
204 )
|
|
205
|
|
206 elseif (MSVC)
|
|
207
|
|
208 else()
|
|
209 message(FATAL_ERROR "Support your platform here")
|
|
210
|
|
211 endif()
|
|
212
|
|
213 set_property(
|
|
214 SOURCE ${CAIRO_SOURCES}
|
|
215 PROPERTY COMPILE_DEFINITIONS "${CAIRO_DEFINITIONS}"
|
|
216 )
|
|
217
|
|
218 else()
|
|
219
|
|
220 pkg_search_module(CAIRO REQUIRED cairo)
|
|
221 include_directories(${CAIRO_INCLUDE_DIRS})
|
|
222 link_libraries(${CAIRO_LIBRARIES})
|
|
223 endif()
|