82ebaf35678856d20c886eb83e26692cf1e7ceb3
[WebKit-https.git] / WebCore / CMakeLists.txt
1
2 project( WebCore )
3
4 include (CheckCXXCompilerFlag)
5
6 include_directories(
7    BEFORE ${CMAKE_CURRENT_BINARY_DIR}
8    ${CMAKE_CURRENT_SOURCE_DIR}/ForwardingHeaders
9    ${CMAKE_CURRENT_SOURCE_DIR}/platform
10    ${CMAKE_CURRENT_SOURCE_DIR}/platform/network
11    ${CMAKE_CURRENT_SOURCE_DIR}/loader
12    ${CMAKE_CURRENT_SOURCE_DIR}/loader/icon
13    ${CMAKE_CURRENT_BINARY_DIR}/css
14    ${CMAKE_CURRENT_SOURCE_DIR}/css
15    ${CMAKE_CURRENT_SOURCE_DIR}/dom
16    ${CMAKE_CURRENT_SOURCE_DIR}/page
17    ${CMAKE_CURRENT_SOURCE_DIR}/bridge
18    ${CMAKE_CURRENT_SOURCE_DIR}/editing
19    ${CMAKE_CURRENT_SOURCE_DIR}/kwq
20    ${CMAKE_CURRENT_SOURCE_DIR}/rendering
21    ${CMAKE_CURRENT_SOURCE_DIR}/xml
22    ${CMAKE_CURRENT_BINARY_DIR}/xml
23    ${CMAKE_CURRENT_SOURCE_DIR}/html
24    ${CMAKE_CURRENT_SOURCE_DIR}/bindings/js
25    ${CMAKE_CURRENT_BINARY_DIR}/html
26    ${CMAKE_CURRENT_SOURCE_DIR}/kcanvas
27    ${CMAKE_CURRENT_SOURCE_DIR}/kcanvas/device
28    ${CMAKE_CURRENT_SOURCE_DIR}/kcanvas/device/qt 
29    ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2 
30    ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/css
31    ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/svg
32    ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg
33    ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/misc 
34    ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/misc 
35    ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/events
36    ${CMAKE_CURRENT_BINARY_DIR}/platform
37    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders
38    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/gif
39    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/jpeg
40    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/ico
41    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/xbm
42    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/bmp
43    ${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/png
44    ${CMAKE_CURRENT_SOURCE_DIR}/platform/qt
45    ${CMAKE_CURRENT_SOURCE_DIR}/platform/network/qt
46    ${CMAKE_CURRENT_SOURCE_DIR}/WebCore+SVG
47    ${CMAKE_CURRENT_SOURCE_DIR}/../JavaScriptCore/kjs
48    ${CMAKE_CURRENT_SOURCE_DIR}/../JavaScriptCore/bindings
49    ${CMAKE_CURRENT_SOURCE_DIR}/../JavaScriptCore/
50    ${CMAKE_CURRENT_SOURCE_DIR}/../
51    )
52
53 include_directories( ${LIBXML2_INCLUDE_DIR} ${QT_INCLUDES}
54   # don't. pulls in kjs
55   # ${KDE4_KDECORE_INCLUDES}
56   )
57
58 add_definitions ( -DQT3_SUPPORT -Wno-undef -Wno-unused-parameter )
59 check_cxx_compiler_flag(-Wno-variadic-macros __KDE_HAVE_WVARIADIC_MACROS)
60
61 IF(__KDE_HAVE_WVARIADIC_MACROS)
62   add_definitions ( -Wno-variadic-macros )
63 ENDIF(__KDE_HAVE_WVARIADIC_MACROS)
64
65 kde4_automoc(WebCore platform/qt/SharedTimerQt.cpp)
66 kde4_automoc(WebCore platform/qt/ScrollViewCanvasQt.cpp)
67 kde4_automoc(WebCore platform/network/qt/ResourceLoaderManager.cpp)
68
69 SET(FEATURE_DEFINES_JAVASCRIPT LANGUAGE_JAVASCRIPT)
70
71 IF (WEBKIT_USE_XPATH_SUPPORT)
72 SET(FEATURE_DEFINES_JAVASCRIPT ${FEATURE_DEFINES_JAVASCRIPT} XPATH_SUPPORT)
73
74 set(IDL_BINDINGS_XPATH
75   xml/XPathExpression.idl
76   xml/XPathNSResolver.idl
77   xml/XPathEvaluator.idl
78   xml/XPathResult.idl
79 )
80
81 ENDIF (WEBKIT_USE_XPATH_SUPPORT)
82
83 IF (WEBKIT_USE_XSLT_SUPPORT)
84 SET(FEATURE_DEFINES_JAVASCRIPT ${FEATURE_DEFINES_JAVASCRIPT} XSLT_SUPPORT)
85 ENDIF (WEBKIT_USE_XSLT_SUPPORT)
86
87 IF (WEBKIT_USE_XBL_SUPPORT)
88 SET(FEATURE_DEFINES_JAVASCRIPT ${FEATURE_DEFINES_JAVASCRIPT} XBL_SUPPORT)
89 ENDIF (WEBKIT_USE_XBL_SUPPORT)
90
91 # rules for generated files
92 IF (WEBKIT_USE_SVG_SUPPORT)
93 SET(FEATURE_DEFINES_JAVASCRIPT ${FEATURE_DEFINES_JAVASCRIPT} SVG_SUPPORT)
94
95 set(IDL_BINDINGS_SVG
96   ksvg2/svg/SVGAElement.idl
97   ksvg2/svg/SVGAngle.idl
98   ksvg2/svg/SVGAnimateColorElement.idl
99   ksvg2/svg/SVGAnimateElement.idl
100   ksvg2/svg/SVGAnimateTransformElement.idl
101   ksvg2/svg/SVGAnimatedAngle.idl
102   ksvg2/svg/SVGAnimatedBoolean.idl
103   ksvg2/svg/SVGAnimatedEnumeration.idl
104   ksvg2/svg/SVGAnimatedInteger.idl
105   ksvg2/svg/SVGAnimatedLength.idl
106   ksvg2/svg/SVGAnimatedLengthList.idl
107   ksvg2/svg/SVGAnimatedNumber.idl
108   ksvg2/svg/SVGAnimatedNumberList.idl
109   ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl
110   ksvg2/svg/SVGAnimatedRect.idl
111   ksvg2/svg/SVGAnimatedString.idl
112   ksvg2/svg/SVGAnimatedTransformList.idl
113   ksvg2/svg/SVGAnimationElement.idl
114   ksvg2/svg/SVGCircleElement.idl
115   ksvg2/svg/SVGClipPathElement.idl
116   ksvg2/svg/SVGColor.idl
117   ksvg2/svg/SVGComponentTransferFunctionElement.idl
118   ksvg2/svg/SVGCursorElement.idl
119   ksvg2/svg/SVGDefsElement.idl
120   ksvg2/svg/SVGDescElement.idl
121   ksvg2/svg/SVGDocument.idl
122   ksvg2/svg/SVGElement.idl
123   ksvg2/svg/SVGEllipseElement.idl
124   ksvg2/svg/SVGFEBlendElement.idl
125   ksvg2/svg/SVGFEColorMatrixElement.idl
126   ksvg2/svg/SVGFEComponentTransferElement.idl
127   ksvg2/svg/SVGFECompositeElement.idl
128   ksvg2/svg/SVGFEDiffuseLightingElement.idl
129   ksvg2/svg/SVGFEDisplacementMapElement.idl
130   ksvg2/svg/SVGFEDistantLightElement.idl
131   ksvg2/svg/SVGFEFloodElement.idl
132   ksvg2/svg/SVGFEFuncAElement.idl
133   ksvg2/svg/SVGFEFuncBElement.idl
134   ksvg2/svg/SVGFEFuncGElement.idl
135   ksvg2/svg/SVGFEFuncRElement.idl
136   ksvg2/svg/SVGFEGaussianBlurElement.idl
137   ksvg2/svg/SVGFEImageElement.idl
138   ksvg2/svg/SVGFEMergeElement.idl
139   ksvg2/svg/SVGFEMergeNodeElement.idl
140   ksvg2/svg/SVGFEOffsetElement.idl
141   ksvg2/svg/SVGFEPointLightElement.idl
142   ksvg2/svg/SVGFESpecularLightingElement.idl
143   ksvg2/svg/SVGFESpotLightElement.idl
144   ksvg2/svg/SVGFETileElement.idl
145   ksvg2/svg/SVGFETurbulenceElement.idl
146   ksvg2/svg/SVGFilterElement.idl
147   ksvg2/svg/SVGForeignObjectElement.idl
148   ksvg2/svg/SVGGElement.idl
149   ksvg2/svg/SVGGradientElement.idl 
150   ksvg2/svg/SVGImageElement.idl
151   ksvg2/svg/SVGLength.idl
152   ksvg2/svg/SVGLengthList.idl
153   ksvg2/svg/SVGLineElement.idl
154   ksvg2/svg/SVGLinearGradientElement.idl
155   ksvg2/svg/SVGMaskElement.idl
156   ksvg2/svg/SVGMarkerElement.idl
157   ksvg2/svg/SVGMatrix.idl
158   ksvg2/svg/SVGMetadataElement.idl
159   ksvg2/svg/SVGNumberList.idl
160   ksvg2/svg/SVGPaint.idl
161   ksvg2/svg/SVGPathElement.idl
162   ksvg2/svg/SVGPathSeg.idl
163   ksvg2/svg/SVGPathSegArcAbs.idl
164   ksvg2/svg/SVGPathSegArcRel.idl
165   ksvg2/svg/SVGPathSegClosePath.idl
166   ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl
167   ksvg2/svg/SVGPathSegCurvetoCubicRel.idl
168   ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl
169   ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl
170   ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl
171   ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl
172   ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
173   ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
174   ksvg2/svg/SVGPathSegLinetoAbs.idl
175   ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl
176   ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl
177   ksvg2/svg/SVGPathSegLinetoRel.idl
178   ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl
179   ksvg2/svg/SVGPathSegLinetoVerticalRel.idl
180   ksvg2/svg/SVGPathSegList.idl
181   ksvg2/svg/SVGPathSegMovetoAbs.idl
182   ksvg2/svg/SVGPathSegMovetoRel.idl
183   ksvg2/svg/SVGPatternElement.idl
184   ksvg2/svg/SVGPointList.idl
185   ksvg2/svg/SVGPolygonElement.idl
186   ksvg2/svg/SVGPolylineElement.idl
187   ksvg2/svg/SVGPreserveAspectRatio.idl
188   ksvg2/svg/SVGRadialGradientElement.idl
189   ksvg2/svg/SVGRectElement.idl
190   ksvg2/svg/SVGRenderingIntent.idl
191   ksvg2/svg/SVGSetElement.idl
192   ksvg2/svg/SVGScriptElement.idl
193   ksvg2/svg/SVGStyleElement.idl
194   ksvg2/svg/SVGSwitchElement.idl
195   ksvg2/svg/SVGStopElement.idl
196   ksvg2/svg/SVGStringList.idl
197   ksvg2/svg/SVGSymbolElement.idl
198   ksvg2/svg/SVGSVGElement.idl
199   ksvg2/svg/SVGTRefElement.idl
200   ksvg2/svg/SVGTSpanElement.idl
201   ksvg2/svg/SVGTextElement.idl
202   ksvg2/svg/SVGTextContentElement.idl
203   ksvg2/svg/SVGTextPositioningElement.idl
204   ksvg2/svg/SVGTitleElement.idl
205   ksvg2/svg/SVGTransform.idl
206   ksvg2/svg/SVGTransformList.idl
207   ksvg2/svg/SVGUnitTypes.idl
208   ksvg2/svg/SVGUseElement.idl
209   ksvg2/svg/SVGViewElement.idl
210   ksvg2/events/SVGZoomEvent.idl
211 )
212 ENDIF (WEBKIT_USE_SVG_SUPPORT)
213
214 set(IDL_BINDINGS
215   css/CSSValue.idl
216   css/CSSRuleList.idl
217   css/CSSValueList.idl
218   css/CSSStyleDeclaration.idl
219   css/CSSPrimitiveValue.idl
220   css/CSSRule.idl
221   css/Counter.idl
222   css/MediaList.idl
223   dom/Event.idl
224   dom/Range.idl
225   dom/Text.idl
226   dom/DOMImplementation.idl
227   dom/NodeFilter.idl
228   dom/MouseEvent.idl
229   dom/CharacterData.idl
230   dom/DocumentFragment.idl
231   dom/Entity.idl
232   dom/UIEvent.idl
233   dom/Node.idl
234   dom/ProcessingInstruction.idl
235   dom/Notation.idl
236   dom/Element.idl
237   dom/DocumentType.idl
238   dom/Document.idl
239   dom/Attr.idl
240   dom/MutationEvent.idl
241   dom/KeyboardEvent.idl
242   dom/WheelEvent.idl
243   dom/OverflowEvent.idl
244   dom/NodeIterator.idl
245   dom/TreeWalker.idl
246   dom/RangeException.idl
247   html/CanvasGradient.idl
248   html/CanvasPattern.idl
249   html/CanvasRenderingContext2D.idl
250   html/HTMLAnchorElement.idl
251   html/HTMLAppletElement.idl
252   html/HTMLAreaElement.idl
253   html/HTMLBaseElement.idl
254   html/HTMLBaseFontElement.idl
255   html/HTMLBlockquoteElement.idl
256   html/HTMLBodyElement.idl
257   html/HTMLBRElement.idl
258   html/HTMLButtonElement.idl
259   html/HTMLCanvasElement.idl
260   html/HTMLDirectoryElement.idl
261   html/HTMLDivElement.idl
262   html/HTMLDListElement.idl
263   html/HTMLDocument.idl
264   html/HTMLElement.idl
265   html/HTMLFieldSetElement.idl
266   html/HTMLFontElement.idl
267   html/HTMLFormElement.idl
268   html/HTMLHeadElement.idl
269   html/HTMLHeadingElement.idl
270   html/HTMLHRElement.idl
271   html/HTMLHtmlElement.idl
272   html/HTMLImageElement.idl
273   html/HTMLInputElement.idl
274   html/HTMLIsIndexElement.idl
275   html/HTMLLabelElement.idl
276   html/HTMLLegendElement.idl
277   html/HTMLLIElement.idl
278   html/HTMLLinkElement.idl
279   html/HTMLMapElement.idl
280   html/HTMLMenuElement.idl
281   html/HTMLMetaElement.idl
282   html/HTMLModElement.idl
283   html/HTMLOListElement.idl
284   html/HTMLOptGroupElement.idl
285   html/HTMLOptionElement.idl
286   html/HTMLParagraphElement.idl
287   html/HTMLParamElement.idl
288   html/HTMLPreElement.idl
289   html/HTMLQuoteElement.idl
290   html/HTMLScriptElement.idl
291   html/HTMLStyleElement.idl
292   html/HTMLTextAreaElement.idl
293   html/HTMLTitleElement.idl
294   html/HTMLUListElement.idl
295   html/HTMLOptionsCollection.idl
296
297   xml/DOMParser.idl
298   xml/XMLSerializer.idl
299
300   page/DOMWindow.idl
301
302   ${IDL_BINDINGS_SVG}
303   ${IDL_BINDINGS_XPATH}
304 )
305
306 set(WebCore-unity-IDLGeneratedSources )
307
308 # create these files at build time on demand, not everytime at cmake-time, Alex
309 foreach (idl ${IDL_BINDINGS})
310    get_filename_component(_basename ${idl} NAME_WE)
311    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/JS${_basename}.cpp ${CMAKE_CURRENT_BINARY_DIR}/JS${_basename}.h
312       COMMAND perl -I${CMAKE_CURRENT_SOURCE_DIR}/bindings/scripts ${CMAKE_CURRENT_SOURCE_DIR}/bindings/scripts/generate-bindings.pl  --defines \"${FEATURE_DEFINES_JAVASCRIPT}\" --generator JS --include ${CMAKE_SOURCE_DIR}/WebCore/dom --include ${CMAKE_SOURCE_DIR}/WebCore/html --include ${CMAKE_SOURCE_DIR}/WebCore/xml --include ${CMAKE_SOURCE_DIR}/WebCore/ksvg2/svg --outputdir ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${idl}
313       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${idl} ${CMAKE_CURRENT_SOURCE_DIR}/bindings/scripts/CodeGenerator.pm ${CMAKE_CURRENT_SOURCE_DIR}/bindings/scripts/CodeGeneratorJS.pm)
314    set(WebCore-unity-IDLGeneratedSources ${WebCore-unity-IDLGeneratedSources} ${CMAKE_CURRENT_BINARY_DIR}/JS${_basename}.cpp ${CMAKE_CURRENT_BINARY_DIR}/JS${_basename}.h )
315 endforeach (idl)
316
317 set(CREATE_HASH_TABLE ${CMAKE_CURRENT_SOURCE_DIR}/../JavaScriptCore/kjs/create_hash_table )
318
319 macro(CREATE_LUT _srcs_LIST _in_FILE _out_FILE _dep_FILE)
320
321    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
322       COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} -i > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
323       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_dep_FILE} )
324    set( ${_srcs_LIST}  ${${_srcs_LIST}} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE})
325 endmacro(CREATE_LUT)
326
327 macro(CREATE_CPP_LUT _in_FILE _out_FILE _dep_FILE)
328    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
329       COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} -i > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
330       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_dep_FILE} )
331 endmacro(CREATE_CPP_LUT)
332
333 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_window.cpp kjs_window.lut.h bindings/js/kjs_window.cpp)
334 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_css.cpp kjs_css.lut.h bindings/js/kjs_css.cpp)
335 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_dom.cpp kjs_dom.lut.h bindings/js/kjs_dom.cpp)
336 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_html.cpp kjs_html.lut.h bindings/js/kjs_html.cpp)
337 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_events.cpp kjs_events.lut.h bindings/js/kjs_events.cpp)
338 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_navigator.cpp kjs_navigator.lut.h bindings/js/kjs_navigator.cpp)
339 create_lut(WebCore-unity_LIB_SRCS bindings/js/kjs_traversal.cpp kjs_traversal.lut.h bindings/js/kjs_traversal.cpp)
340 create_lut(WebCore-unity_LIB_SRCS bindings/js/JSXMLHttpRequest.cpp JSXMLHttpRequest.lut.h bindings/js/JSXMLHttpRequest.cpp)
341 create_lut(WebCore-unity_LIB_SRCS bindings/js/JSXSLTProcessor.cpp JSXSLTProcessor.lut.h bindings/js/JSXSLTProcessor.cpp)
342
343 # now this is ugly
344 # WebKit sources include some generated files which have the suffix ".cpp"
345 # the CMake way to create the dependencies of targets to generated files is
346 # to list the generated files as part of the sources for the target.
347 # If this would be done for the generated-and-then-included cpp-files
348 # they would be compiled twice (once included and once on their own).
349 # The easy way would be to rename the generated files to use the suffix
350 # ".inl" or something like this. But this is not wanted by the WebKit developers
351 # AFAIK. So we have to work around it here. This is done by renaming the
352 # generated files to *.inl and adding these files to the list of sources
353 # (WebCore-unity_LIB_SRCS). But the include-statements still want a cpp-file,
354 # so tell CMake to create these cpp-files at cmake-time, but these files contain
355 # nothing except an include-statement for the inl-file. Alex
356 macro(CREATE_GENERATED_CPP_HELPER  _inlName)
357    get_filename_component(_baseName ${_inlName} NAME_WE)
358    if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_baseName}.cpp)
359       file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_baseName}.cpp
360 "/* This file is autogenerated by CMake.                                       *
361  * Do not edit, changes will be lost.                                         *
362  * With the CMake buildsystem giving generated-but-not-compiled-on-their-own  *
363  * files the suffix \".cpp\" is not recommended, because it breaks the          *
364  * dependency handling. So the actual generated file has the suffix \".inl\"    *
365  * and this file here only exists as a helper.                                */
366 #include \"${CMAKE_CURRENT_BINARY_DIR}/${_inlName}\"\n")
367    endif (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_baseName}.cpp)
368    set(WebCore-unity_LIB_SRCS ${WebCore-unity_LIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/${_inlName})
369 endmacro(CREATE_GENERATED_CPP_HELPER  _inlName)
370
371
372 create_cpp_lut(bindings/js/JSHTMLInputElementBase.cpp JSHTMLInputElementBaseTable.inl bindings/js/JSHTMLInputElementBase.cpp)
373 create_generated_cpp_helper(JSHTMLInputElementBaseTable.inl)
374
375
376 IF (WEBKIT_USE_SVG_SUPPORT)
377     create_cpp_lut(bindings/js/JSSVGNumber.cpp JSSVGNumberTable.inl bindings/js/JSSVGNumber.cpp)
378     create_cpp_lut(bindings/js/JSSVGPoint.cpp JSSVGPointTable.inl bindings/js/JSSVGPoint.cpp)
379     create_generated_cpp_helper(JSSVGPointTable.inl)
380     create_cpp_lut(bindings/js/JSSVGRect.cpp JSSVGRectTable.inl bindings/js/JSSVGRect.cpp)
381     create_generated_cpp_helper(JSSVGRectTable.inl)
382 ENDIF (WEBKIT_USE_SVG_SUPPORT)
383
384 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tokenizer.inl
385   COMMAND flex -t < ${CMAKE_CURRENT_SOURCE_DIR}/css/tokenizer.flex | perl ${CMAKE_CURRENT_SOURCE_DIR}/css/maketokenizer > ${CMAKE_CURRENT_BINARY_DIR}/tokenizer.inl
386   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/tokenizer.flex
387 )
388 create_generated_cpp_helper(tokenizer.inl)
389
390 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/CSSPropertyNames.h ${CMAKE_CURRENT_BINARY_DIR}/CSSPropertyNames.c
391
392   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
393   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSPropertyNames.in ${CMAKE_CURRENT_BINARY_DIR}/CSSPropertyNames.in
394   COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/css/makeprop
395
396   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSPropertyNames.in
397 )
398
399 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/CSSValueKeywords.h ${CMAKE_CURRENT_BINARY_DIR}/CSSValueKeywords.c
400
401   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
402   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSValueKeywords.in ${CMAKE_CURRENT_BINARY_DIR}
403   COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/css/makevalues
404
405   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSValueKeywords.in
406 )
407
408 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.cpp ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.h
409   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
410   COMMAND ${BISON_EXECUTABLE} -d -p cssyy ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSGrammar.y
411   COMMAND mv CSSGrammar.tab.c ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.cpp
412   #COMMAND rm -f CSSGrammar.tab.h
413   #COMMAND touch CSSGrammar.h
414   COMMAND mv CSSGrammar.tab.h ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.h
415   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/CSSGrammar.y
416 )
417
418 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.cpp ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.h
419   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
420   COMMAND ${BISON_EXECUTABLE} -d -p xpathyy ${CMAKE_CURRENT_SOURCE_DIR}/xml/XPathGrammar.y
421   COMMAND mv XPathGrammar.tab.c ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.cpp
422   #COMMAND rm -f XPathGrammar.tab.h
423   #COMMAND touch XPathGrammar.h
424   COMMAND mv XPathGrammar.tab.h ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.h
425   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/xml/XPathGrammar.y
426 )
427
428 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/HTMLNames.cpp ${CMAKE_CURRENT_BINARY_DIR}/html/HTMLNames.h
429   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
430   COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/html
431   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/make_names.pl --tags ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLTagNames.in --attrs ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLAttributeNames.in --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output html
432
433   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLTagNames.in ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLAttributeNames.in
434 )
435
436 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGNames.cpp ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGNames.h ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGElementFactory.cpp ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGElementFactory.h
437   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
438   COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg
439   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/make_names.pl --tags ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/svg/svgtags.in --attrs ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/svg/svgattrs.in --namespace SVG --cppNamespace WebCore --namespaceURI "http://www.w3.org/2000/svg" --factory --attrsNullNamespace --output ksvg2/svg
440
441   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/svg/svgtags.in ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/svg/svgattrs.in
442 )
443
444 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/misc/XLinkNames.cpp ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/misc/XLinkNames.h
445   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
446   COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/misc
447   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/make_names.pl --attrs ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/misc/xlinkattrs.in --namespace XLink --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xlink" --output ksvg2/misc
448
449   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/misc/xlinkattrs.in
450 )
451
452 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xml/XMLNames.cpp ${CMAKE_CURRENT_BINARY_DIR}/xml/XMLNames.h
453   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
454   COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/xml
455   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/make_names.pl --attrs ${CMAKE_CURRENT_SOURCE_DIR}/xml/xmlattrs.in --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output xml
456
457   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/xml/xmlattrs.in
458 )
459
460 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/HTMLEntityNames.c
461   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
462   COMMAND mkdir -p html
463   COMMAND echo '\#include <string.h>' > html/HTMLEntityNames.c
464   COMMAND ${GPERF_EXECUTABLE} -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 < ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLEntityNames.gperf >> html/HTMLEntityNames.c
465
466   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/html/HTMLEntityNames.gperf
467 )
468
469 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/DocTypeStrings.cpp
470   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
471   COMMAND mkdir -p html
472   COMMAND echo '\#include <string.h>' > html/DocTypeStrings.cpp
473   COMMAND ${GPERF_EXECUTABLE} -CEot -L ANSI-C -k \"*\" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < ${CMAKE_CURRENT_SOURCE_DIR}/html/DocTypeStrings.gperf >> html/DocTypeStrings.cpp
474   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/html/DocTypeStrings.gperf
475 )
476
477 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/platform/ColorData.c
478   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
479   COMMAND mkdir -p platform
480   COMMAND echo '\#include <string.h>' > platform/ColorData.c
481   COMMAND ${GPERF_EXECUTABLE} -CDEot -L ANSI-C -k \"*\" -N findColor -D -s 2 < ${CMAKE_CURRENT_SOURCE_DIR}/platform/ColorData.gperf >> platform/ColorData.c
482   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/platform/ColorData.gperf
483 )
484
485 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ksvgcssproperties.h
486   COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/css/CSSPropertyNames.in ${CMAKE_CURRENT_BINARY_DIR}/ksvgcssproperties.in
487   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/cssmakeprops -n SVG -f ksvgcssproperties.in
488   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/cssmakeprops ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/css/CSSPropertyNames.in
489 )
490
491 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ksvgcssvalues.h
492   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
493   COMMAND perl -ne 'print lc' ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/css/CSSValueKeywords.in > ksvgcssvalues.in
494   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/cssmakevalues -n SVG -f ksvgcssvalues.in
495   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/scripts/cssmakevalues ${CMAKE_CURRENT_SOURCE_DIR}/ksvg2/css/CSSValueKeywords.in
496 )
497
498 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheets.h ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheetsData.cpp
499   COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/css/make-css-file-arrays.pl ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheets.h ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheetsData.cpp ${CMAKE_CURRENT_SOURCE_DIR}/css/html4.css ${CMAKE_CURRENT_SOURCE_DIR}/css/quirks.css ${CMAKE_CURRENT_SOURCE_DIR}/css/svg.css ${CMAKE_CURRENT_SOURCE_DIR}/css/view-source.css
500   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/html4.css ${CMAKE_CURRENT_SOURCE_DIR}/css/quirks.css ${CMAKE_CURRENT_SOURCE_DIR}/css/svg.css
501 )
502
503 # source stuff
504 if (WEBKIT_USE_XPATH_SUPPORT)
505 SET (XPATH_SOURCES
506     ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.h
507     ${CMAKE_CURRENT_BINARY_DIR}/XPathGrammar.cpp
508 )
509 ENDIF (WEBKIT_USE_XPATH_SUPPORT)
510
511 IF (WEBKIT_USE_SVG_SUPPORT)
512 set (SVG_SOURCES
513     ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGNames.cpp
514     ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/svg/SVGElementFactory.cpp
515     ${CMAKE_CURRENT_BINARY_DIR}/ksvg2/misc/XLinkNames.cpp
516     ${CMAKE_CURRENT_BINARY_DIR}/xml/XMLNames.cpp
517
518     bindings/js/JSSVGPoint.cpp
519     bindings/js/JSSVGRect.cpp
520     bindings/js/JSSVGNumber.cpp
521     bindings/js/JSSVGElementWrapperFactory.cpp 
522
523     ksvg2/css/SVGCSSParser.cpp
524     ksvg2/css/SVGRenderStyleDefs.cpp
525     ksvg2/css/SVGRenderStyle.cpp
526     ksvg2/css/SVGCSSStyleSelector.cpp
527     ksvg2/svg/SVGHelper.cpp
528     ksvg2/svg/SVGFEFuncBElement.cpp
529     ksvg2/svg/SVGPathSeg.cpp
530     ksvg2/svg/SVGColor.cpp
531     ksvg2/svg/SVGSwitchElement.cpp
532     ksvg2/svg/SVGFETileElement.cpp
533     ksvg2/svg/SVGDOMImplementation.cpp
534     ksvg2/svg/SVGMarkerElement.cpp
535     ksvg2/svg/SVGFECompositeElement.cpp
536     ksvg2/svg/SVGImageElement.cpp
537     ksvg2/svg/SVGAnimateElement.cpp
538     ksvg2/svg/SVGURIReference.cpp
539     ksvg2/svg/SVGLength.cpp
540     ksvg2/svg/SVGPathSegCurvetoCubic.cpp
541     ksvg2/svg/SVGExternalResourcesRequired.cpp
542     ksvg2/svg/SVGPolylineElement.cpp
543     ksvg2/svg/SVGFEOffsetElement.cpp
544     ksvg2/svg/SVGFETurbulenceElement.cpp
545     ksvg2/svg/SVGZoomAndPan.cpp
546     ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp
547     ksvg2/svg/SVGStyledLocatableElement.cpp
548     ksvg2/svg/SVGLineElement.cpp
549     ksvg2/svg/SVGTransform.cpp
550     ksvg2/svg/SVGPathSegLinetoVertical.cpp
551     ksvg2/svg/SVGFitToViewBox.cpp
552     ksvg2/svg/SVGRadialGradientElement.cpp
553     ksvg2/svg/SVGMatrix.cpp
554     ksvg2/svg/SVGMaskElement.cpp
555     ksvg2/svg/SVGTitleElement.cpp
556     ksvg2/svg/SVGTRefElement.cpp
557     ksvg2/svg/SVGLangSpace.cpp
558     ksvg2/svg/SVGTransformList.cpp
559     ksvg2/svg/SVGStylable.cpp
560     ksvg2/svg/SVGPolyElement.cpp
561     ksvg2/svg/SVGPolygonElement.cpp
562 #   ksvg2/svg/SVGElementInstanceList.cpp
563     ksvg2/svg/SVGTSpanElement.cpp
564     ksvg2/svg/SVGFEFuncRElement.cpp
565     ksvg2/svg/SVGFEFloodElement.cpp
566     ksvg2/svg/SVGPointList.cpp
567     ksvg2/svg/SVGAnimatedPoints.cpp
568     ksvg2/svg/SVGAnimatedPathData.cpp
569     ksvg2/svg/SVGUseElement.cpp
570     ksvg2/svg/SVGNumberList.cpp
571     ksvg2/svg/SVGFEPointLightElement.cpp
572     ksvg2/svg/SVGPathSegLineto.cpp
573     ksvg2/svg/SVGRectElement.cpp
574     ksvg2/svg/SVGTextContentElement.cpp
575     ksvg2/svg/SVGFESpotLightElement.cpp
576     ksvg2/svg/SVGLocatable.cpp
577     ksvg2/svg/SVGEllipseElement.cpp
578     ksvg2/svg/SVGPathElement.cpp
579     ksvg2/svg/SVGStyledElement.cpp
580     ksvg2/svg/SVGFEMergeNodeElement.cpp
581     ksvg2/svg/svgpathparser.cpp
582     ksvg2/svg/SVGFEGaussianBlurElement.cpp
583     ksvg2/svg/SVGLinearGradientElement.cpp
584     ksvg2/svg/SVGFEDisplacementMapElement.cpp
585     ksvg2/svg/SVGFEImageElement.cpp
586     ksvg2/svg/SVGFEDiffuseLightingElement.cpp
587     ksvg2/svg/SVGSymbolElement.cpp
588     ksvg2/svg/SVGForeignObjectElement.cpp
589     ksvg2/svg/SVGAngle.cpp
590     ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp
591     ksvg2/svg/SVGSVGElement.cpp
592     ksvg2/svg/SVGFESpecularLightingElement.cpp
593     ksvg2/svg/SVGAnimateColorElement.cpp
594     ksvg2/svg/SVGGElement.cpp
595     ksvg2/svg/SVGFEFuncGElement.cpp
596     ksvg2/svg/SVGFEComponentTransferElement.cpp
597     ksvg2/svg/SVGSetElement.cpp
598     ksvg2/svg/SVGFEBlendElement.cpp
599     ksvg2/svg/SVGFEMergeElement.cpp
600     ksvg2/svg/SVGCursorElement.cpp
601     ksvg2/svg/SVGStringList.cpp
602 #   ksvg2/svg/SVGElementInstance.cpp
603     ksvg2/svg/SVGFilterElement.cpp
604     ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp
605     ksvg2/svg/SVGPatternElement.cpp
606     ksvg2/svg/SVGPathSegList.cpp
607     ksvg2/svg/SVGStyleElement.cpp
608     ksvg2/svg/SVGPaint.cpp
609     ksvg2/svg/SVGFEDistantLightElement.cpp
610     ksvg2/svg/SVGTextPositioningElement.cpp
611     ksvg2/svg/SVGPreserveAspectRatio.cpp
612     ksvg2/svg/SVGScriptElement.cpp
613     ksvg2/svg/SVGComponentTransferFunctionElement.cpp
614     ksvg2/svg/SVGTextElement.cpp
615     ksvg2/svg/SVGViewElement.cpp
616     ksvg2/svg/SVGLengthList.cpp
617     ksvg2/svg/SVGStyledTransformableElement.cpp
618     ksvg2/svg/SVGPathSegArc.cpp
619     ksvg2/svg/SVGDescElement.cpp
620     ksvg2/svg/SVGTransformable.cpp
621     ksvg2/svg/SVGDocument.cpp
622     ksvg2/svg/SVGClipPathElement.cpp
623     ksvg2/svg/SVGPathSegMoveto.cpp
624     ksvg2/svg/SVGAElement.cpp
625     ksvg2/svg/SVGCircleElement.cpp
626     ksvg2/svg/SVGFEFuncAElement.cpp
627     ksvg2/svg/SVGTests.cpp
628     ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp
629     ksvg2/svg/SVGElement.cpp
630     ksvg2/svg/SVGAnimateTransformElement.cpp
631     ksvg2/svg/SVGFEColorMatrixElement.cpp
632     ksvg2/svg/SVGGradientElement.cpp
633     ksvg2/svg/SVGAnimationElement.cpp
634     ksvg2/svg/SVGFELightElement.cpp
635     ksvg2/svg/SVGPathSegClosePath.cpp
636     ksvg2/svg/SVGPathSegLinetoHorizontal.cpp
637     ksvg2/svg/SVGStopElement.cpp
638     ksvg2/svg/SVGDefsElement.cpp
639     ksvg2/svg/SVGMetadataElement.cpp
640 #   ksvg2/ecma/GlobalObject.cpp
641 #   ksvg2/ecma/Ecma.cpp
642     ksvg2/misc/SVGImageLoader.cpp
643     ksvg2/misc/SVGDocumentExtensions.cpp
644     ksvg2/misc/KSVGTimeScheduler.cpp
645     ksvg2/misc/KCanvasRenderingStyle.cpp
646     ksvg2/events/JSSVGLazyEventListener.cpp
647     ksvg2/events/SVGZoomEvent.cpp
648     kcanvas/KCanvasTreeDebug.cpp
649     kcanvas/KCanvasFilters.cpp
650     kcanvas/KCanvasClipper.cpp
651     kcanvas/KCanvasMarker.cpp
652     kcanvas/KCanvasMasker.cpp
653     kcanvas/KCanvasResource.cpp
654     kcanvas/SVGRootInlineBox.cpp
655     kcanvas/SVGInlineFlowBox.cpp
656     kcanvas/RenderSVGInline.cpp
657     kcanvas/RenderSVGInlineText.cpp
658     kcanvas/RenderSVGTSpan.cpp
659     kcanvas/RenderSVGText.cpp
660     kcanvas/device/KRenderingPaintServerGradient.cpp
661     kcanvas/device/KRenderingPaintServerSolid.cpp
662     kcanvas/device/KRenderingPaintServerPattern.cpp
663     kcanvas/device/KRenderingDevice.cpp
664     kcanvas/device/qt/RenderPathQt.cpp
665     kcanvas/device/qt/KRenderingDeviceQt.cpp
666     kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp
667     kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp
668     kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp
669     kcanvas/device/qt/KRenderingPaintServerQt.cpp
670     kcanvas/device/qt/KCanvasClipperQt.cpp
671 #   kcanvas/device/qt/KCanvasFilterQt.cpp
672 #   kcanvas/device/qt/KCanvasImageItemQt.cpp
673     kcanvas/RenderSVGContainer.cpp
674     kcanvas/RenderPath.cpp
675     kcanvas/RenderSVGImage.cpp
676     kcanvas/RenderForeignObject.cpp
677  )
678 ENDIF(WEBKIT_USE_SVG_SUPPORT)
679
680 set(WebCore_SRCS
681
682     ${WebCore-unity_LIB_SRCS}
683
684     ${CMAKE_CURRENT_BINARY_DIR}/CSSPropertyNames.h
685     ${CMAKE_CURRENT_BINARY_DIR}/CSSValueKeywords.h
686     ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.h
687     ${CMAKE_CURRENT_BINARY_DIR}/CSSGrammar.cpp
688     ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheets.h
689     ${CMAKE_CURRENT_BINARY_DIR}/UserAgentStyleSheetsData.cpp
690     ${CMAKE_CURRENT_BINARY_DIR}/html/HTMLNames.cpp
691     ${CMAKE_CURRENT_BINARY_DIR}/html/HTMLEntityNames.c
692     ${CMAKE_CURRENT_BINARY_DIR}/html/DocTypeStrings.cpp
693     ${CMAKE_CURRENT_BINARY_DIR}/platform/ColorData.c
694     ${CMAKE_CURRENT_BINARY_DIR}/ksvgcssproperties.h
695     ${CMAKE_CURRENT_BINARY_DIR}/ksvgcssvalues.h
696
697     bindings/js/kjs_binding.cpp
698     bindings/js/kjs_css.cpp
699     bindings/js/kjs_dom.cpp
700     bindings/js/kjs_events.cpp
701     bindings/js/kjs_html.cpp
702     bindings/js/kjs_navigator.cpp
703     bindings/js/kjs_proxy.cpp
704     bindings/js/kjs_traversal.cpp
705     bindings/js/kjs_window.cpp
706
707     bindings/js/JSCanvasRenderingContext2DCustom.cpp
708     bindings/js/JSHTMLElementWrapperFactory.cpp
709     bindings/js/JSHTMLFormElementCustom.cpp
710     bindings/js/JSHTMLOptionElementConstructor.cpp
711     bindings/js/JSHTMLOptionsCollectionCustom.cpp
712     bindings/js/JSHTMLInputElementBase.cpp
713     bindings/js/JSXMLHttpRequest.cpp
714     bindings/js/JSNodeIteratorCustom.cpp
715     bindings/js/JSTreeWalkerCustom.cpp
716     bindings/js/JSXSLTProcessor.cpp
717
718     css/cssparser.cpp
719     css/cssstyleselector.cpp
720     css/csshelper.cpp
721     css/FontValue.cpp
722     css/CSSSelector.cpp
723     css/MediaFeatureNames.cpp
724     css/CSSRuleList.cpp
725     css/CSSCharsetRule.cpp
726     css/MediaQueryExp.cpp
727     css/CSSImportRule.cpp
728     css/CSSValueList.cpp
729     css/CSSStyleDeclaration.cpp
730     css/CSSPrimitiveValue.cpp
731     css/CSSProperty.cpp
732     css/CSSCursorImageValue.cpp
733     css/CSSBorderImageValue.cpp
734     css/MediaQuery.cpp
735     css/StyleSheet.cpp
736     css/CSSPageRule.cpp
737     css/StyleSheetList.cpp
738     css/MediaQueryEvaluator.cpp
739     css/StyleBase.cpp
740     css/CSSRule.cpp
741     css/CSSStyleSheet.cpp
742     css/CSSInitialValue.cpp
743     css/CSSImageValue.cpp
744     css/CSSStyleRule.cpp
745     css/CSSInheritedValue.cpp
746     css/StyleList.cpp
747     css/FontFamilyValue.cpp
748     css/CSSMediaRule.cpp
749     css/CSSComputedStyleDeclaration.cpp
750     css/CSSMutableStyleDeclaration.cpp
751     css/MediaList.cpp
752     css/CSSFontFaceRule.cpp
753     css/ShadowValue.cpp
754     dom/Event.cpp
755     dom/Range.cpp
756     dom/Text.cpp
757     dom/DOMImplementation.cpp
758     dom/NodeFilter.cpp
759     dom/MouseEvent.cpp
760     dom/EntityReference.cpp
761     dom/NameNodeList.cpp
762     dom/CharacterData.cpp
763     dom/XMLTokenizer.cpp
764     dom/StyledElement.cpp
765     dom/MappedAttribute.cpp
766     dom/NamedAttrMap.cpp
767     dom/ContainerNode.cpp
768     dom/NamedMappedAttrMap.cpp
769     dom/EventNames.cpp
770     dom/Comment.cpp
771     dom/EditingText.cpp
772     dom/DocumentFragment.cpp
773     dom/ChildNodeList.cpp
774     dom/Entity.cpp
775     dom/BeforeTextInsertedEvent.cpp
776     dom/UIEvent.cpp
777     dom/Node.cpp
778     dom/Attribute.cpp
779     dom/Position.cpp
780     dom/ProcessingInstruction.cpp
781     dom/TreeWalker.cpp
782     dom/Notation.cpp
783     dom/Element.cpp
784     dom/NodeFilterCondition.cpp
785     dom/CDATASection.cpp
786     dom/DocumentType.cpp
787     dom/NodeList.cpp
788     dom/CSSMappedAttributeDeclaration.cpp
789     dom/QualifiedName.cpp
790     dom/Document.cpp
791     dom/Attr.cpp
792     dom/OverflowEvent.cpp
793     dom/RegisteredEventListener.cpp
794     dom/EventTargetNode.cpp
795     dom/BeforeUnloadEvent.cpp
796     dom/MutationEvent.cpp
797     dom/MouseRelatedEvent.cpp
798     dom/KeyboardEvent.cpp
799     dom/NodeIterator.cpp
800     dom/ClipboardEvent.cpp
801     dom/Traversal.cpp
802     dom/WheelEvent.cpp
803 #   kwq/KWQWMatrix.cpp
804 #   kwq/KWQCString.cpp
805
806     ${SVG_SOURCES}
807     ${XPATH_SOURCES}
808
809     editing/DeleteButtonController.cpp
810     editing/DeleteButton.cpp
811     editing/Editor.cpp
812     editing/CommandByName.cpp
813     editing/InsertIntoTextNodeCommand.cpp
814     editing/WrapContentsInDummySpanCommand.cpp
815     editing/ReplaceSelectionCommand.cpp
816     editing/MoveSelectionCommand.cpp
817     editing/RemoveNodePreservingChildrenCommand.cpp
818     editing/HTMLInterchange.cpp
819     editing/UnlinkCommand.cpp
820     editing/InsertLineBreakCommand.cpp
821     editing/FormatBlockCommand.cpp
822     editing/AppendNodeCommand.cpp
823     editing/BreakBlockquoteCommand.cpp
824     editing/htmlediting.cpp
825     editing/RebalanceWhitespaceCommand.cpp
826     editing/markup.cpp
827     editing/InsertParagraphSeparatorCommand.cpp
828     editing/ModifySelectionListLevel.cpp
829     editing/JSEditor.cpp
830     editing/Selection.cpp
831     editing/TextIterator.cpp
832     editing/InsertListCommand.cpp
833     editing/IndentOutdentCommand.cpp
834     editing/InsertNodeBeforeCommand.cpp
835     editing/SplitTextNodeContainingElementCommand.cpp
836     editing/TypingCommand.cpp
837     editing/MergeIdenticalElementsCommand.cpp
838     editing/EditCommand.cpp
839     editing/SplitTextNodeCommand.cpp
840     editing/RemoveCSSPropertyCommand.cpp
841     editing/JoinTextNodesCommand.cpp
842     editing/InsertTextCommand.cpp
843     editing/SelectionController.cpp
844     editing/DeleteSelectionCommand.cpp
845     editing/SplitElementCommand.cpp
846     editing/VisiblePosition.cpp
847     editing/ApplyStyleCommand.cpp
848     editing/visible_units.cpp
849     editing/RemoveNodeAttributeCommand.cpp
850     editing/DeleteFromTextNodeCommand.cpp
851     editing/RemoveNodeCommand.cpp
852     editing/CompositeEditCommand.cpp
853     editing/SetNodeAttributeCommand.cpp
854     editing/CreateLinkCommand.cpp
855
856
857 #   kwq/KWQTextStream.cpp
858     xml/XSLStyleSheet.cpp
859     xml/XSLTProcessor.cpp
860     xml/XSLImportRule.cpp
861     xml/DOMParser.cpp
862     xml/XMLSerializer.cpp
863     xml/xmlhttprequest.cpp
864 #   icon/IconDatabase.cpp
865 #   icon/SQLTransaction.cpp
866 #   icon/SQLStatement.cpp
867 #   icon/SiteIcon.cpp
868 #   icon/SQLDatabase.cpp
869     html/HTMLParser.cpp
870     html/HTMLFontElement.cpp
871     html/HTMLEmbedElement.cpp
872     html/HTMLLinkElement.cpp
873     html/HTMLOptGroupElement.cpp
874     html/HTMLCanvasElement.cpp
875     html/HTMLTitleElement.cpp
876     html/CanvasRenderingContext2D.cpp
877     html/HTMLObjectElement.cpp
878     html/HTMLAppletElement.cpp
879     html/HTMLKeygenElement.cpp
880     html/HTMLDivElement.cpp
881     html/HTMLMapElement.cpp
882     html/HTMLScriptElement.cpp
883     html/HTMLHtmlElement.cpp
884     html/HTMLTokenizer.cpp
885     html/HTMLOptionElement.cpp
886     html/HTMLTableCaptionElement.cpp
887     html/HTMLImageLoader.cpp
888     html/FormDataList.cpp
889     html/HTMLLabelElement.cpp
890     html/HTMLTableColElement.cpp
891     html/HTMLDListElement.cpp
892     html/HTMLTablePartElement.cpp
893     html/HTMLTableSectionElement.cpp
894     html/HTMLTextAreaElement.cpp
895     html/HTMLTextFieldInnerElement.cpp
896     html/HTMLAreaElement.cpp
897     html/CanvasStyle.cpp
898     html/HTMLIsIndexElement.cpp
899     html/HTMLHeadElement.cpp
900     html/HTMLFrameSetElement.cpp
901     html/HTMLBodyElement.cpp
902     html/HTMLBRElement.cpp
903     html/HTMLNameCollection.cpp
904     html/HTMLLegendElement.cpp
905     html/HTMLLIElement.cpp
906     html/HTMLParamElement.cpp
907     html/HTMLMetaElement.cpp
908     html/HTMLHeadingElement.cpp
909     html/HTMLUListElement.cpp
910     html/HTMLInputElement.cpp
911     html/HTMLElementFactory.cpp
912     html/HTMLPlugInElement.cpp
913     html/HTMLFieldSetElement.cpp
914     html/HTMLParagraphElement.cpp
915     html/HTMLStyleElement.cpp
916     html/HTMLMarqueeElement.cpp
917     html/HTMLGenericFormElement.cpp
918     html/HTMLElement.cpp
919     html/HTMLDocument.cpp
920     html/HTMLOListElement.cpp
921     html/HTMLFormElement.cpp
922     html/HTMLPreElement.cpp
923     html/HTMLTableElement.cpp
924     html/CanvasGradient.cpp
925     html/HTMLViewSourceDocument.cpp
926     html/HTMLFrameElement.cpp
927     html/HTMLFrameElementBase.cpp
928     html/HTMLAnchorElement.cpp
929     html/HTMLTableCellElement.cpp
930     html/CanvasPattern.cpp
931     html/HTMLBlockquoteElement.cpp
932     html/HTMLIFrameElement.cpp
933     html/HTMLMenuElement.cpp
934     html/HTMLCollection.cpp
935     html/HTMLModElement.cpp
936     html/HTMLQuoteElement.cpp
937     html/HTMLDirectoryElement.cpp
938     html/HTMLSelectElement.cpp
939     html/HTMLImageElement.cpp
940     html/HTMLOptionsCollection.cpp
941     html/HTMLTableRowElement.cpp
942     html/HTMLBaseFontElement.cpp
943     html/HTMLHRElement.cpp
944     html/HTMLButtonElement.cpp
945     html/HTMLFormCollection.cpp
946     html/HTMLBaseElement.cpp
947     page/FrameTree.cpp
948     page/DOMWindow.cpp
949     page/MouseEventWithHitTestResults.cpp
950     page/Frame.cpp
951     page/Page.cpp
952     page/FrameView.cpp
953     xml/XPathUtil.cpp
954     xml/XPathPredicate.cpp
955     xml/XPathVariableReference.cpp
956     xml/XPathValue.cpp
957     xml/XPathPath.cpp
958     xml/XPathFunctions.cpp
959     xml/XPathParser.cpp
960     xml/XPathStep.cpp
961     xml/XPathExpressionNode.cpp
962     xml/XPathNamespace.cpp
963     xml/XPathNSResolver.cpp
964     xml/XPathExpression.cpp
965     xml/XPathResult.cpp
966     xml/XPathEvaluator.cpp
967     loader/CachedImage.cpp
968     loader/CachedScript.cpp
969     loader/Request.cpp
970     loader/CachedXSLStyleSheet.cpp
971     loader/DocLoader.cpp
972     loader/PluginDocument.cpp
973     loader/TextDocument.cpp
974     loader/ImageDocument.cpp
975     loader/CachedResourceClientWalker.cpp
976     loader/loader.cpp
977     loader/CachedCSSStyleSheet.cpp
978     loader/CachedXBLDocument.cpp
979     loader/CachedResource.cpp
980     loader/Cache.cpp
981     loader/Decoder.cpp
982     loader/FormData.cpp
983     platform/CString.cpp
984     platform/AtomicString.cpp
985     platform/AffineTransform.cpp
986     platform/TextStream.cpp
987     platform/Widget.cpp
988     platform/GlyphWidthMap.cpp
989     platform/Pen.cpp
990     platform/Image.cpp
991     platform/DeprecatedStringList.cpp
992     platform/FloatSize.cpp
993     platform/String.cpp
994     platform/DeprecatedValueListImpl.cpp
995     platform/GraphicsTypes.cpp
996     platform/IntRect.cpp
997     platform/Arena.cpp
998     platform/ArrayImpl.cpp
999     platform/FloatPoint.cpp
1000     platform/SegmentedString.cpp
1001     platform/StreamingTextDecoder.cpp
1002     platform/StreamingTextDecoderICU.cpp
1003     platform/DeprecatedString.cpp
1004     platform/DeprecatedCString.cpp
1005     platform/TextCodecLatin1.cpp
1006     platform/TextCodecUTF16.cpp
1007     platform/TextDecoder.cpp
1008     platform/TextEncoding.cpp
1009     platform/TextEncodingRegistry.cpp
1010     platform/GraphicsContext.cpp
1011     platform/Logging.cpp
1012     platform/Color.cpp
1013     platform/DeprecatedPtrListImpl.cpp
1014     platform/KURL.cpp
1015     platform/StringImpl.cpp
1016     platform/FloatRect.cpp
1017     platform/network/ResourceLoader.cpp
1018     platform/Path.cpp
1019     platform/qt/EditorClientQt.cpp
1020     platform/qt/SoundQt.cpp
1021     platform/qt/LoaderFunctionsQt.cpp
1022     platform/qt/FileChooserQt.cpp
1023     platform/qt/IconQt.cpp
1024     platform/qt/AffineTransformQt.cpp
1025     platform/qt/StringQt.cpp
1026     platform/qt/ColorQt.cpp
1027     platform/qt/GlyphMapQt.cpp
1028     platform/qt/CookieJarQt.cpp
1029     platform/qt/FontPlatformDataQt.cpp
1030     platform/qt/GraphicsContextQt.cpp
1031     platform/qt/ScrollViewQt.cpp
1032     platform/qt/TemporaryLinkStubs.cpp
1033     platform/qt/CursorQt.cpp
1034     platform/qt/WidgetQt.cpp
1035     platform/qt/SystemTimeQt.cpp
1036     platform/qt/RenderThemeQt.cpp
1037     platform/qt/FontDataQt.cpp
1038     platform/qt/SharedTimerQt.cpp
1039     platform/qt/PopupMenuQt.cpp
1040     platform/network/qt/ResourceLoaderManager.cpp
1041     platform/network/qt/ResourceLoaderQt.cpp
1042     platform/qt/FloatPointQt.cpp
1043     platform/qt/ListBoxQt.cpp
1044     platform/qt/FloatRectQt.cpp
1045     platform/qt/IntPointQt.cpp
1046     platform/qt/IntRectQt.cpp
1047     platform/qt/IntSizeQt.cpp
1048     platform/qt/PageQt.cpp
1049     platform/qt/PathQt.cpp
1050     platform/qt/ImageQt.cpp
1051     platform/qt/ImageSourceQt.cpp
1052     platform/qt/FontCacheQt.cpp
1053     platform/qt/FontQt.cpp
1054 #   platform/qt/LineEditQt.cpp
1055     platform/qt/ScreenQt.cpp
1056 #   platform/qt/FileButtonQt.cpp
1057     platform/qt/FrameQt.cpp
1058     platform/qt/FrameQtClient.cpp
1059 #   platform/qt/TextEditQt.cpp
1060     platform/qt/ScrollViewCanvasQt.cpp
1061     platform/qt/PlatformMouseEventQt.cpp
1062     platform/qt/PlatformKeyboardEventQt.cpp
1063     platform/image-decoders/bmp/BMPImageDecoder.cpp
1064     platform/image-decoders/gif/GIFImageReader.cpp
1065     platform/image-decoders/gif/GIFImageDecoder.cpp
1066     platform/image-decoders/ico/ICOImageDecoder.cpp
1067     platform/image-decoders/png/PNGImageDecoder.cpp
1068     platform/image-decoders/xbm/XBMImageDecoder.cpp
1069     platform/image-decoders/jpeg/JPEGImageDecoder.cpp
1070     platform/FontFamily.cpp
1071     platform/Timer.cpp
1072     platform/FontCache.cpp
1073     platform/FontFallbackList.cpp
1074     platform/RegularExpression.cpp
1075     platform/GlyphMap.cpp
1076     platform/Font.cpp
1077     platform/FontData.cpp
1078     rendering/RenderCounter.cpp
1079     rendering/CounterNode.cpp
1080     rendering/CounterResetNode.cpp
1081     rendering/RenderListBox.cpp
1082     rendering/RenderReplaced.cpp
1083     rendering/RenderPartObject.cpp
1084     rendering/RenderView.cpp
1085     rendering/RenderMenuList.cpp
1086     rendering/InlineFlowBox.cpp
1087     rendering/RenderListMarker.cpp
1088     rendering/RenderImage.cpp
1089     rendering/RenderTheme.cpp
1090     rendering/RenderLayer.cpp
1091     rendering/RenderTableCell.cpp
1092     rendering/RenderListItem.cpp
1093     rendering/AutoTableLayout.cpp
1094     rendering/RenderArena.cpp
1095     rendering/RenderWidget.cpp
1096     rendering/break_lines.cpp
1097     rendering/RenderStyle.cpp
1098     rendering/RenderContainer.cpp
1099     rendering/EllipsisBox.cpp
1100     rendering/DeprecatedRenderSelect.cpp
1101     rendering/RenderFieldset.cpp
1102     rendering/RenderFrameSet.cpp
1103     rendering/RenderTable.cpp
1104     rendering/RenderPart.cpp
1105     rendering/RenderBlock.cpp
1106     rendering/DeprecatedSlider.cpp
1107     rendering/InlineBox.cpp
1108     rendering/RenderText.cpp
1109     rendering/RenderFrame.cpp
1110     rendering/RenderLineEdit.cpp
1111     rendering/FixedTableLayout.cpp
1112     rendering/RenderTableCol.cpp
1113     rendering/RenderObject.cpp
1114     rendering/RenderTreeAsText.cpp
1115     rendering/RootInlineBox.cpp
1116     rendering/RenderFormElement.cpp
1117     rendering/RenderBox.cpp
1118     rendering/RenderButton.cpp
1119     rendering/RenderTableSection.cpp
1120     rendering/ListMarkerBox.cpp
1121     rendering/RenderLabel.cpp
1122     rendering/RenderTableRow.cpp
1123     rendering/RenderInline.cpp
1124     rendering/RenderFileUploadControl.cpp
1125     rendering/RenderHTMLCanvas.cpp
1126     rendering/bidi.cpp
1127     rendering/RenderFlexibleBox.cpp
1128     rendering/RenderApplet.cpp
1129     rendering/RenderLegend.cpp
1130     rendering/RenderTextControl.cpp
1131     rendering/RenderTextFragment.cpp
1132     rendering/RenderBR.cpp
1133     rendering/InlineTextBox.cpp
1134     rendering/RenderFlow.cpp
1135     platform/image-decoders/png/png.c
1136     platform/image-decoders/png/pngget.c
1137     platform/image-decoders/png/pngread.c
1138     platform/image-decoders/png/pngrutil.c
1139     platform/image-decoders/png/pngvcrd.c
1140     platform/image-decoders/png/pngwtran.c
1141     platform/image-decoders/png/pngerror.c
1142     platform/image-decoders/png/pngmem.c
1143     platform/image-decoders/png/pngrio.c
1144     platform/image-decoders/png/pngset.c
1145     platform/image-decoders/png/pngwio.c
1146     platform/image-decoders/png/pngwutil.c
1147     platform/image-decoders/png/pnggccrd.c
1148     platform/image-decoders/png/pngpread.c
1149     platform/image-decoders/png/pngrtran.c
1150     platform/image-decoders/png/pngtrans.c
1151     platform/image-decoders/png/pngwrite.c
1152     platform/image-decoders/jpeg/jcomapi.c
1153     platform/image-decoders/jpeg/jdapimin.c
1154     platform/image-decoders/jpeg/jdapistd.c
1155     platform/image-decoders/jpeg/jdatadst.c
1156     platform/image-decoders/jpeg/jdatasrc.c
1157     platform/image-decoders/jpeg/jdcoefct.c
1158     platform/image-decoders/jpeg/jdcolor.c
1159     platform/image-decoders/jpeg/jddctmgr.c
1160     platform/image-decoders/jpeg/jdhuff.c
1161     platform/image-decoders/jpeg/jdinput.c
1162     platform/image-decoders/jpeg/jdmainct.c
1163     platform/image-decoders/jpeg/jdmarker.c
1164     platform/image-decoders/jpeg/jdmaster.c
1165     platform/image-decoders/jpeg/jdmerge.c
1166     platform/image-decoders/jpeg/jdphuff.c
1167     platform/image-decoders/jpeg/jdpostct.c
1168     platform/image-decoders/jpeg/jdsample.c
1169     platform/image-decoders/jpeg/jerror.c
1170     platform/image-decoders/jpeg/jfdctflt.c
1171     platform/image-decoders/jpeg/jfdctfst.c
1172     platform/image-decoders/jpeg/jfdctint.c
1173     platform/image-decoders/jpeg/jidctflt.c
1174     platform/image-decoders/jpeg/jidctfst.c
1175     platform/image-decoders/jpeg/jidctint.c
1176     platform/image-decoders/jpeg/jmemmgr.c
1177     platform/image-decoders/jpeg/jmemnobs.c
1178     platform/image-decoders/jpeg/jquant1.c
1179     platform/image-decoders/jpeg/jquant2.c
1180     platform/image-decoders/jpeg/jutils.c
1181
1182     ${WebCore-unity-IDLGeneratedSources}
1183 )
1184
1185 kde4_add_library(WebCore-unity SHARED  ${WebCore_SRCS})
1186
1187 target_link_libraries(WebCore-unity
1188   ${QT_QT3SUPPORT_LIBRARY}
1189   ${QT_QTCORE_LIBRARY}
1190   ${QT_QTSVG_LIBRARY}
1191   ${QT_QTGUI_LIBRARY}
1192   ${LIBXSLT_LIBRARIES}
1193   ${LIBXML2_LIBRARIES}
1194   icuuc
1195   kio
1196   wtf-unity
1197   kjs-unity
1198   pcre-unity
1199 )
1200
1201 install (TARGETS WebCore-unity DESTINATION ${LIB_INSTALL_DIR})