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