Warning, /frameworks/khtml/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 kde_enable_exceptions()
0002 
0003 find_package(OpenSSL)
0004 set_package_properties(OpenSSL PROPERTIES DESCRIPTION "Support for secure network communications (SSL and TLS)"
0005                        URL "https://openssl.org/"
0006                        TYPE RECOMMENDED
0007                        PURPOSE "KDE uses OpenSSL for the bulk of secure communications, including secure web browsing via HTTPS"
0008                       )
0009 if(OPENSSL_FOUND)
0010    set(KSSL_HAVE_SSL 1)
0011    include_directories(${OPENSSL_INCLUDE_DIR})
0012 endif()
0013 
0014 configure_file(config-khtml.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-khtml.h )
0015 
0016 set(khtmlgraphics_STAT_SRCS
0017   platform/graphics/AffineTransform.cpp
0018   platform/graphics/FloatPoint.cpp
0019   platform/graphics/FloatRect.cpp
0020   platform/graphics/FloatSize.cpp
0021   platform/graphics/IntRect.cpp
0022   platform/graphics/Path.cpp
0023   platform/graphics/GraphicsTypes.cpp
0024   platform/graphics/PathTraversalState.cpp
0025   #platform/graphics/Image.cpp
0026   #platform/MIMETypeRegistry.cpp
0027   platform/graphics/qt/AffineTransformQt.cpp
0028   platform/graphics/qt/FloatPointQt.cpp
0029   platform/graphics/qt/FloatRectQt.cpp
0030   platform/graphics/qt/IntPointQt.cpp
0031   platform/graphics/qt/IntRectQt.cpp
0032   platform/graphics/qt/IntSizeQt.cpp
0033   platform/graphics/qt/PathQt.cpp
0034   #platform/qt/MIMETypeRegistryQt.cpp
0035 )
0036 
0037 set(khtmlsvg_STAT_SRCS
0038   svg/SVGDocument.cpp
0039   svg/SVGSVGElement.cpp
0040   svg/SVGStyledLocatableElement.cpp
0041   svg/SVGLocatable.cpp
0042   svg/SVGStyledElement.cpp
0043   svg/SVGStylable.cpp
0044   svg/SVGElement.cpp
0045   svg/SVGLength.cpp
0046   svg/SVGTransformable.cpp
0047   svg/SVGTransform.cpp
0048   svg/SVGAngle.cpp
0049   svg/SVGDocumentExtensions.cpp
0050   svg/SVGParserUtilities.cpp
0051   svg/SVGTransformDistance.cpp
0052   svg/SVGTransformList.cpp
0053   svg/SVGStringList.cpp
0054   svg/SVGStyledTransformableElement.cpp
0055   svg/SVGTests.cpp
0056   svg/SVGLangSpace.cpp
0057   svg/SVGExternalResourcesRequired.cpp
0058   svg/SVGRectElement.cpp
0059   svg/SVGPreserveAspectRatio.cpp
0060   svg/SVGFitToViewBox.cpp
0061   svg/SVGCircleElement.cpp
0062   svg/SVGStyleElement.cpp
0063   svg/SVGEllipseElement.cpp
0064   svg/SVGPointList.cpp
0065   svg/SVGAnimatedPoints.cpp
0066   svg/SVGPolyElement.cpp
0067   svg/SVGPolygonElement.cpp
0068   svg/SVGPolylineElement.cpp
0069   svg/SVGAnimatedPathData.cpp
0070   svg/SVGPathSegArc.cpp
0071   svg/SVGPathSegClosePath.cpp
0072   svg/SVGPathSegCurvetoCubic.cpp
0073   svg/SVGPathSegCurvetoCubicSmooth.cpp
0074   svg/SVGPathSegCurvetoQuadratic.cpp
0075   svg/SVGPathSegCurvetoQuadraticSmooth.cpp
0076   svg/SVGPathSegLineto.cpp
0077   svg/SVGPathSegLinetoHorizontal.cpp
0078   svg/SVGPathSegLinetoVertical.cpp
0079   svg/SVGPathSegList.cpp
0080   svg/SVGPathSegMoveto.cpp
0081   svg/SVGPathElement.cpp
0082   svg/SVGURIReference.cpp
0083   svg/SVGStopElement.cpp
0084   svg/SVGGradientElement.cpp
0085   svg/SVGLinearGradientElement.cpp
0086   svg/SVGRadialGradientElement.cpp
0087   svg/SVGDefsElement.cpp
0088   svg/SVGClipPathElement.cpp
0089   svg/SVGGElement.cpp
0090   svg/SVGElementInstance.cpp
0091   svg/SVGElementInstanceList.cpp
0092   svg/SVGUseElement.cpp
0093   svg/SVGLineElement.cpp
0094   svg/SVGTextPathElement.cpp
0095   svg/SVGTextContentElement.cpp
0096   svg/SVGNumberList.cpp
0097   svg/SVGTextPositioningElement.cpp
0098   svg/SVGLengthList.cpp
0099   svg/SVGTextElement.cpp
0100   svg/SVGAElement.cpp
0101   svg/SVGScriptElement.cpp
0102   svg/SVGTitleElement.cpp
0103   svg/SVGDescElement.cpp
0104   svg/SVGNames.cpp
0105   svg/SVGZoomAndPan.cpp
0106   svg/SVGViewSpec.cpp
0107   svg/SVGTSpanElement.cpp
0108   svg/SVGGlyphElement.cpp
0109   svg/SVGAltGlyphElement.cpp
0110   svg/SVGHKernElement.cpp
0111   svg/SVGMissingGlyphElement.cpp
0112   svg/SVGFontElement.cpp
0113   svg/SVGFontData.cpp
0114 #############################################################
0115 ## GRAPHICS #################################################
0116 #############################################################
0117   svg/graphics/SVGResource.cpp
0118   svg/graphics/SVGPaintServer.cpp
0119   svg/graphics/qt/SVGPaintServerQt.cpp
0120   svg/graphics/SVGPaintServerSolid.cpp
0121   svg/graphics/qt/SVGPaintServerSolidQt.cpp
0122   svg/graphics/SVGResourceClipper.cpp
0123   svg/graphics/qt/SVGResourceClipperQt.cpp
0124   svg/graphics/SVGPaintServerGradient.cpp
0125   svg/graphics/SVGPaintServerLinearGradient.cpp
0126   svg/graphics/SVGPaintServerRadialGradient.cpp
0127   svg/graphics/qt/SVGPaintServerGradientQt.cpp
0128   svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp
0129   svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp
0130 #############################################################
0131 ## RENDERING PART BELOW   ###################################
0132 #############################################################
0133   rendering/RenderSVGRoot.cpp
0134   rendering/RenderPath.cpp
0135   rendering/SVGRenderStyleDefs.cpp
0136   rendering/SVGRenderStyle.cpp
0137   rendering/RenderSVGGradientStop.cpp
0138   rendering/RenderSVGContainer.cpp
0139   rendering/SVGRenderSupport.cpp
0140   rendering/RenderSVGHiddenContainer.cpp
0141   rendering/RenderSVGTransformableContainer.cpp
0142   rendering/SVGInlineFlowBox.cpp
0143   rendering/SVGRootInlineBox.cpp
0144   rendering/RenderSVGTextPath.cpp
0145   rendering/SVGInlineTextBox.cpp
0146   rendering/SVGCharacterLayoutInfo.cpp
0147   rendering/RenderSVGInline.cpp
0148   rendering/RenderSVGText.cpp
0149   rendering/RenderSVGBlock.cpp
0150   rendering/RenderSVGInlineText.cpp
0151   rendering/RenderSVGTSpan.cpp
0152 )
0153 
0154 # khtml/dom/Makefile.am: khtmldom
0155 
0156 set(khtmldom_STAT_SRCS
0157   dom/dom_misc.cpp
0158   dom/html_block.cpp
0159   dom/html_inline.cpp
0160   dom/css_rule.cpp
0161   dom/dom_node.cpp
0162   dom/html_document.cpp
0163   dom/html_list.cpp
0164   dom/css_stylesheet.cpp
0165   dom/dom_string.cpp
0166   dom/html_element.cpp
0167   dom/html_misc.cpp
0168   dom/css_value.cpp
0169   dom/dom_text.cpp
0170   dom/html_object.cpp
0171   dom/dom_doc.cpp
0172   dom/dom_xml.cpp
0173   dom/html_head.cpp
0174   dom/dom_element.cpp
0175   dom/html_base.cpp
0176   dom/html_image.cpp
0177   dom/html_form.cpp
0178   dom/dom2_range.cpp
0179   dom/html_table.cpp
0180   dom/dom2_traversal.cpp
0181   dom/dom2_events.cpp
0182   dom/dom2_views.cpp
0183   dom/QualifiedName.cpp
0184   dom/dom3_xpath.cpp
0185 )
0186 
0187 #set_source_files_properties(${khtmldom_STAT_SRCS} PROPERTIES COMPILE_FLAGS ${KDE_ENABLE_EXCEPTIONS})
0188 
0189 # khtml/misc/Makefile.am: khtmlmisc
0190 
0191 set(khtmlmisc_STAT_SRCS
0192   misc/loader.cpp
0193   misc/helper.cpp
0194   misc/arena.cpp
0195   misc/stringit.cpp
0196   misc/paintbuffer.cpp
0197   misc/imagefilter.cpp
0198   misc/borderarcstroker.cpp
0199   misc/idstring.cpp
0200   misc/htmlnames.cpp
0201   misc/AtomicString.cpp
0202   misc/woff.cpp
0203   misc/guess_ja.cpp
0204   misc/kencodingdetector.cpp
0205 )
0206 
0207 set(khtmlediting_STAT_SRCS
0208   editing/jsediting.cpp
0209   editing/editing.cpp
0210   editing/editor.cpp
0211   editing/htmlediting_impl.cpp
0212 )
0213 
0214 set(khtmlfind_STAT_SRCS
0215   ui/findbar/khtmlfind.cpp
0216   ui/findbar/khtmlfindbar.cpp
0217 )
0218 
0219 ki18n_wrap_ui(khtmlfind_STAT_SRCS
0220   ui/findbar/khtmlfindbar_base.ui
0221 )
0222 
0223 set(passwordbar_STAT_SRCS
0224   ui/passwordbar/storepassbar.cpp
0225 )
0226 
0227 ki18n_wrap_ui(passwordbar_STAT_SRCS
0228   ui/passwordbar/storepassbar_base.ui
0229 )
0230 
0231 # khtml/html/Makefile.am: khtmlhtml
0232 
0233 set(khtmlhtml_STAT_SRCS
0234   html/htmlparser.cpp
0235   html/htmltokenizer.cpp
0236   html/htmlprospectivetokenizer.cpp
0237   html/dtd.cpp
0238   html/html_headimpl.cpp
0239   html/html_blockimpl.cpp
0240   html/html_elementimpl.cpp
0241   html/html_inlineimpl.cpp
0242   html/html_documentimpl.cpp
0243   html/html_baseimpl.cpp
0244   html/html_imageimpl.cpp
0245   html/html_listimpl.cpp
0246   html/html_miscimpl.cpp
0247   html/html_formimpl.cpp
0248   html/html_objectimpl.cpp
0249   html/html_tableimpl.cpp
0250   html/html_canvasimpl.cpp
0251   html/HTMLMediaElement.cpp
0252   html/HTMLAudioElement.cpp
0253   html/HTMLVideoElement.cpp
0254   html/HTMLSourceElement.cpp
0255   html/TimeRanges.cpp
0256   html/ksslkeygen.cpp
0257   html/kopenssl.cpp
0258   html/kentities.cpp
0259 )
0260 ecm_gperf_generate(html/doctypes.gperf ${CMAKE_CURRENT_BINARY_DIR}/doctypes.h khtmlhtml_STAT_SRCS
0261                    GENERATION_FLAGS "--key-positions=*")
0262 ecm_gperf_generate(html/kentities.gperf ${CMAKE_CURRENT_BINARY_DIR}/kentities-gperf.h khtmlhtml_STAT_SRCS
0263                    GENERATION_FLAGS "--key-positions=* -D -s 2")
0264 
0265 # khtml/ecma/Makefile.am: kjs_html
0266 
0267 set(EXCLUDE_SRCS_FILES
0268 ${CMAKE_CURRENT_BINARY_DIR}/doctypes.h
0269 ${CMAKE_CURRENT_BINARY_DIR}/kentities-gperf.h
0270 ${CMAKE_CURRENT_BINARY_DIR}/JSTimeRanges.h
0271 ${CMAKE_CURRENT_BINARY_DIR}/JSMediaError.h
0272 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLMediaElement.h
0273 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLAudioElement.h
0274 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLVideoElement.h
0275 ${CMAKE_CURRENT_BINARY_DIR}/JSTimeRanges.cpp
0276 ${CMAKE_CURRENT_BINARY_DIR}/JSMediaError.cpp
0277 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLMediaElement.cpp
0278 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLAudioElement.cpp
0279 ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLVideoElement.cpp
0280 )
0281 
0282 set_property(SOURCE ${EXCLUDE_SRCS_FILES} PROPERTY SKIP_AUTOMOC TRUE) # don't run automoc on this file
0283 
0284 set(kjs_html_STAT_SRCS
0285   ecma/kjs_binding.cpp
0286   ecma/kjs_dom.cpp
0287   ecma/kjs_html.cpp
0288   ecma/kjs_window.cpp
0289   ecma/kjs_navigator.cpp
0290   ecma/kjs_proxy.cpp
0291   ecma/kjs_css.cpp
0292   ecma/kjs_range.cpp
0293   ecma/kjs_traversal.cpp
0294   ecma/kjs_events.cpp
0295   ecma/kjs_views.cpp
0296 #  ecma/kjs_debugwin.cpp
0297   ecma/kjs_mozilla.cpp
0298   ${CMAKE_CURRENT_BINARY_DIR}/JSTimeRanges.h
0299   ${CMAKE_CURRENT_BINARY_DIR}/JSTimeRanges.cpp
0300   ${CMAKE_CURRENT_BINARY_DIR}/JSMediaError.h
0301   ${CMAKE_CURRENT_BINARY_DIR}/JSMediaError.cpp
0302   ecma/JSHTMLElement.cpp
0303   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLMediaElement.h
0304   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLMediaElement.cpp
0305   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLAudioElement.h
0306   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLAudioElement.cpp
0307   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLVideoElement.h
0308   ${CMAKE_CURRENT_BINARY_DIR}/JSHTMLVideoElement.cpp
0309   ecma/xmlhttprequest.cpp
0310   ecma/xmlserializer.cpp
0311   ecma/domparser.cpp
0312   ecma/kjs_context2d.cpp
0313   ecma/kjs_audio.cpp
0314   ecma/kjs_xpath.cpp
0315   ecma/kjs_scriptable.cpp
0316   ecma/kjs_data.cpp
0317   ecma/kjs_arraybuffer.cpp
0318   ecma/kjs_arraybufferview.cpp
0319   ecma/kjs_arraytyped.cpp
0320   ecma/kjs_clientrect.cpp
0321 )
0322 
0323 # TODO: set(KJS_DEBUGGER) once we can depend on the ktexteditor interfaces
0324 if (KJS_DEBUGGER)
0325   set (kjs_html_STAT_SRCS ${kjs_html_STAT_SRCS}
0326   ecma/debugger/debugwindow.cpp
0327   ecma/debugger/debugdocument.cpp
0328   ecma/debugger/consoledock.cpp
0329   ecma/debugger/breakpointsdock.cpp
0330   ecma/debugger/callstackdock.cpp
0331   ecma/debugger/localvariabledock.cpp
0332   ecma/debugger/scriptsdock.cpp
0333   ecma/debugger/value2string.cpp
0334   ecma/debugger/errordlg.cpp
0335   ecma/debugger/interpreter_ctx.cpp
0336   )
0337 endif()
0338 
0339 #qt_add_resources( kjs_html_STAT_SRCS ecma/debugger/debugger.qrc )
0340 
0341 # khtml/rendering/Makefile.am: khtmlrender
0342 
0343 set(khtmlrender_STAT_SRCS
0344   rendering/bidi.cpp
0345   rendering/break_lines.cpp
0346   rendering/render_block.cpp
0347   rendering/render_inline.cpp
0348   rendering/render_style.cpp
0349   rendering/render_object.cpp
0350   rendering/render_container.cpp
0351   rendering/render_box.cpp
0352   rendering/render_flow.cpp
0353   rendering/render_text.cpp
0354   rendering/render_arena.cpp
0355   rendering/render_layer.cpp
0356   rendering/render_image.cpp
0357   rendering/render_table.cpp
0358   rendering/table_layout.cpp
0359   rendering/render_replaced.cpp
0360   rendering/render_form.cpp
0361   rendering/render_list.cpp
0362   rendering/render_canvas.cpp
0363   rendering/render_frames.cpp
0364   rendering/render_br.cpp
0365   rendering/render_body.cpp
0366   rendering/font.cpp
0367   rendering/render_line.cpp
0368   rendering/render_generated.cpp
0369   rendering/enumerate.cpp
0370   rendering/counter_tree.cpp
0371   rendering/render_canvasimage.cpp
0372   rendering/render_position.cpp
0373   rendering/render_media.cpp
0374   rendering/media_controls.cpp
0375 )
0376 
0377 # khtml/css/Makefile.am: khtmlcss
0378 
0379 set(khtmlcss_STAT_SRCS
0380   css/css_stylesheetimpl.cpp
0381   css/css_ruleimpl.cpp
0382   css/css_valueimpl.cpp
0383   css/css_svgvalueimpl.cpp
0384   css/css_base.cpp
0385   css/cssparser.cpp
0386   css/cssstyleselector.cpp
0387   css/csshelper.cpp
0388   css/parser.cpp
0389   css/css_renderstyledeclarationimpl.cpp
0390   css/css_mediaquery.cpp
0391   css/css_svgcssparser.cpp
0392   css/SVGCSSStyleSelector.cpp
0393   css/css_webfont.cpp
0394 )
0395 
0396 # khtml/xml/Makefile.am: khtmlxml
0397 
0398 set(khtmlxml_STAT_SRCS
0399   xml/security_origin.cpp
0400   xml/dom_docimpl.cpp
0401   xml/dom_nodeimpl.cpp
0402   xml/dom_nodelistimpl.cpp
0403   xml/dom_textimpl.cpp
0404   xml/dom_elementimpl.cpp
0405   xml/dom_stringimpl.cpp
0406   xml/dom2_rangeimpl.cpp
0407   xml/dom2_traversalimpl.cpp
0408   xml/xml_tokenizer.cpp
0409   xml/dom_xmlimpl.cpp
0410   xml/dom2_eventsimpl.cpp
0411   xml/dom2_viewsimpl.cpp
0412   xml/dom_restyler.cpp
0413   xml/ClassNames.cpp
0414   xml/dom_position.cpp
0415   xml/dom_positioniterator.cpp
0416   xml/dom_selection.cpp
0417   xml/wa_selectors.cpp
0418   xml/dom3_xpathimpl.cpp
0419 )
0420 
0421 # khtml/imload/Makefile.am: khtmlimload
0422 
0423 set(khtmlimload_STAT_SRCS
0424   imload/imageplane.cpp
0425   imload/rawimageplane.cpp
0426   imload/scaledimageplane.cpp
0427   imload/pixmapplane.cpp
0428   imload/animprovider.cpp
0429   imload/imagepainter.cpp
0430   imload/updater.cpp
0431   imload/image.cpp
0432   imload/imagemanager.cpp
0433   imload/animtimer.cpp
0434   imload/canvasimage.cpp
0435 )
0436 
0437 # khtml/imload/decoders/Makefile.am: decoders
0438 
0439 set(decoders_STAT_SRCS
0440   imload/decoders/jpegloader.cpp
0441   imload/decoders/pngloader.cpp
0442   imload/decoders/gifloader.cpp
0443   imload/decoders/qimageioloader.cpp
0444 )
0445 
0446 # khtml/xpath/
0447 set(xpath_STAT_SRCS
0448   xpath/expression.cpp
0449   xpath/functions.cpp
0450   xpath/parsedstatement.cpp
0451   xpath/path.cpp
0452   xpath/predicate.cpp
0453   xpath/step.cpp
0454   xpath/tokenizer.cpp
0455   xpath/parser.cpp
0456   xpath/util.cpp
0457   xpath/variablereference.cpp
0458 #  xpath/XPathNSResolverImpl.cpp
0459 )
0460 
0461 add_subdirectory( css )
0462 
0463 include_directories(
0464    ${PHONON_INCLUDE_DIR}
0465    ${KWindowSystem_INCLUDE_DIRS}
0466 )
0467 
0468 include_directories(
0469 #   ${CMAKE_CURRENT_SOURCE_DIR}
0470   ${CMAKE_CURRENT_SOURCE_DIR}/misc
0471   ${CMAKE_CURRENT_SOURCE_DIR}/dom
0472   ${CMAKE_CURRENT_SOURCE_DIR}/xml
0473   ${CMAKE_CURRENT_SOURCE_DIR}/html
0474   ${CMAKE_CURRENT_SOURCE_DIR}/rendering
0475   ${CMAKE_CURRENT_SOURCE_DIR}/ecma
0476   ${CMAKE_CURRENT_SOURCE_DIR}/imload
0477   ${CMAKE_CURRENT_SOURCE_DIR}/imload/decoders
0478   ${CMAKE_CURRENT_SOURCE_DIR}/svg
0479   ${CMAKE_CURRENT_SOURCE_DIR}/svg/graphics
0480   ${CMAKE_CURRENT_SOURCE_DIR}/platform/graphics
0481   ${CMAKE_CURRENT_SOURCE_DIR}/platform/text
0482   ${CMAKE_CURRENT_SOURCE_DIR}/platform
0483   ${CMAKE_CURRENT_SOURCE_DIR}/compat
0484   ${CMAKE_CURRENT_SOURCE_DIR}/css
0485   ${CMAKE_CURRENT_SOURCE_DIR}/xpath
0486 )
0487 include_directories(
0488  ${CMAKE_CURRENT_BINARY_DIR}
0489 # ${CMAKE_CURRENT_BINARY_DIR}/misc
0490 # ${CMAKE_CURRENT_BINARY_DIR}/dom
0491 # ${CMAKE_CURRENT_BINARY_DIR}/xml
0492 # ${CMAKE_CURRENT_BINARY_DIR}/html
0493 # ${CMAKE_CURRENT_BINARY_DIR}/rendering
0494 # ${CMAKE_CURRENT_BINARY_DIR}/imload
0495 # ${CMAKE_CURRENT_BINARY_DIR}/imload/decoders
0496 # ${CMAKE_CURRENT_BINARY_DIR}/svg
0497 # ${CMAKE_CURRENT_BINARY_DIR}/svg/graphics
0498 # ${CMAKE_CURRENT_BINARY_DIR}/platform/graphics
0499 # ${CMAKE_CURRENT_BINARY_DIR}/platform/text
0500 # ${CMAKE_CURRENT_SOURCE_DIR}/platform
0501 # ${CMAKE_CURRENT_BINARY_DIR}/compat
0502   ${CMAKE_CURRENT_BINARY_DIR}/css
0503 )
0504 
0505 include_directories(${JPEG_INCLUDE_DIR} ${GIF_INCLUDE_DIR} ${PNG_INCLUDE_DIR} )
0506 
0507 set( KDELIBSUFF ${LIB_SUFFIX} )
0508 configure_file(html/ksslconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/ksslconfig.h )
0509 
0510 add_subdirectory( kmultipart )
0511 
0512 add_definitions(-DENABLE_VIDEO)
0513 
0514 ########### libkhtml ###############
0515 
0516 set(khtml_LIB_SRCS
0517    khtmlview.cpp
0518    khtmlviewbar.cpp
0519    khtmlviewbarwidget.cpp
0520    khtml_part.cpp
0521    khtml_childframe.cpp
0522    khtml_run.cpp
0523    khtml_global.cpp
0524    khtml_settings.cpp
0525    khtml_filter.cpp
0526    khtml_events.cpp
0527    khtml_ext.cpp
0528    khtml_pagecache.cpp
0529    khtml_printsettings.cpp
0530    khtml_iface.cpp
0531    khtmlimage.cpp
0532    kjserrordlg.cpp
0533    ${xpath_STAT_SRCS}
0534    ${khtmlfind_STAT_SRCS}
0535    ${passwordbar_STAT_SRCS}
0536    ${khtmlxml_STAT_SRCS}
0537    ${khtmlhtml_STAT_SRCS}
0538    ${khtmlrender_STAT_SRCS}
0539    ${khtmlcss_STAT_SRCS}
0540    ${khtmlmisc_STAT_SRCS}
0541    ${khtmlediting_STAT_SRCS}
0542    ${kjs_html_STAT_SRCS}
0543    ${khtmldom_STAT_SRCS}
0544    ${khtmlimload_STAT_SRCS}
0545    ${decoders_STAT_SRCS}
0546    ${khtmlgraphics_STAT_SRCS} # for WebCore compatibility
0547    ${khtmlsvg_STAT_SRCS} # for SVG
0548    #   ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KHtmlPart.xml # just so that it gets generated
0549    )
0550 
0551 # Fairly certain this isn't used anywhere
0552 # qt_generate_dbus_interface(khtml_iface.h org.kde.KHtmlPart.xml)
0553 
0554 qt_add_dbus_interface(khtml_LIB_SRCS ${KCookieServer_DBUS_INTERFACE} kcookiejar_interface)
0555 
0556 ecm_qt_declare_logging_category(khtml_LIB_SRCS
0557     HEADER khtml_debug.h
0558     IDENTIFIER KHTML_LOG
0559     CATEGORY_NAME kf.khtml
0560     OLD_CATEGORY_NAMES kf5.khtml
0561     DESCRIPTION "khtml (lib)"
0562     EXPORT KHTML
0563 )
0564 
0565 ki18n_wrap_ui(khtml_LIB_SRCS
0566    kjserrordlgbase.ui
0567    htmlpageinfo.ui
0568    html/keygenwizard.ui
0569    html/keygenwizard2.ui
0570 )
0571 
0572 qt_add_resources( khtml_LIB_SRCS khtml.qrc )
0573 
0574 add_library(KF5KHtml ${khtml_LIB_SRCS})
0575 add_library(KF5::KHtml ALIAS KF5KHtml)
0576 
0577 generate_export_header(KF5KHtml BASE_NAME KHtml)
0578 
0579 target_include_directories(KF5KHtml INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KHtml>")
0580 
0581 target_link_libraries(KF5KHtml
0582   PUBLIC
0583     Qt5::Gui
0584     KF5::KIOCore
0585     KF5::JS
0586     KF5::I18n
0587     KF5::Parts
0588     KF5::TextWidgets
0589     KF5::Codecs
0590   PRIVATE
0591     ${PHONON_LIBRARIES}
0592     ${JPEG_LIBRARIES}
0593     ${GIF_LIBRARIES}
0594     ${PNG_LIBRARIES}
0595     Qt5::PrintSupport
0596     KF5::Archive
0597     KF5::SonnetCore
0598     KF5::WidgetsAddons
0599     KF5::WindowSystem
0600     KF5::Wallet
0601     KF5::IconThemes
0602     KF5::Notifications
0603     KF5::Bookmarks
0604     KF5::KIOWidgets # KUrlRequester
0605 )
0606 if(NOT WIN32 AND NOT APPLE AND HAVE_X11)
0607   target_link_libraries(KF5KHtml PRIVATE ${X11_LIBRARIES} Qt5::X11Extras)
0608 endif()
0609 
0610 if (KJS_DEBUGGER)
0611   target_link_libraries(KF5KHtml PRIVATE KF5::KTextEditor)
0612 endif()
0613 
0614 if(TARGET KF5::GlobalAccel)
0615   target_link_libraries(KF5KHtml PRIVATE KF5::GlobalAccel)
0616 endif()
0617 
0618 set_target_properties(KF5KHtml PROPERTIES VERSION ${KHTML_VERSION}
0619                                           SOVERSION ${KHTML_SOVERSION}
0620                                           EXPORT_NAME KHtml
0621                      )
0622 
0623 
0624 macro(CREATE_LUT _in_FILE _out_FILE)
0625 
0626    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
0627       COMMAND ${PERL_EXECUTABLE} ${KJS_CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
0628       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
0629    )
0630    macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
0631 endmacro(CREATE_LUT)
0632 
0633 
0634 create_lut(ecma/kjs_dom.cpp kjs_dom.lut.h)
0635 create_lut(ecma/kjs_html.cpp kjs_html.lut.h)
0636 create_lut(ecma/kjs_window.cpp kjs_window.lut.h)
0637 create_lut(ecma/kjs_css.cpp kjs_css.lut.h)
0638 create_lut(ecma/kjs_events.cpp kjs_events.lut.h)
0639 create_lut(ecma/kjs_navigator.cpp kjs_navigator.lut.h)
0640 create_lut(ecma/kjs_mozilla.cpp kjs_mozilla.lut.h)
0641 create_lut(ecma/kjs_range.cpp kjs_range.lut.h)
0642 create_lut(ecma/kjs_traversal.cpp kjs_traversal.lut.h)
0643 create_lut(ecma/kjs_views.cpp kjs_views.lut.h)
0644 create_lut(ecma/xmlhttprequest.cpp xmlhttprequest.lut.h)
0645 create_lut(ecma/xmlserializer.cpp xmlserializer.lut.h)
0646 create_lut(ecma/domparser.cpp domparser.lut.h)
0647 create_lut(ecma/kjs_context2d.cpp kjs_context2d.lut.h)
0648 create_lut(ecma/kjs_xpath.cpp kjs_xpath.lut.h)
0649 create_lut(ecma/kjs_arraybuffer.cpp kjs_arraybuffer.lut.h)
0650 create_lut(ecma/kjs_arraybufferview.cpp kjs_arraybufferview.lut.h)
0651 create_lut(ecma/kjs_clientrect.cpp kjs_clientrect.lut.h)
0652 
0653 macro(create_js_binding _in_FILE)
0654    get_filename_component(_in_filename ${_in_FILE} NAME_WE)
0655    set(_out_h_FILE "${CMAKE_CURRENT_BINARY_DIR}/JS${_in_filename}.h")
0656    set(_out_cpp_FILE "${CMAKE_CURRENT_BINARY_DIR}/JS${_in_filename}.cpp")
0657    set(_scripts_dir "${CMAKE_CURRENT_SOURCE_DIR}/bindings/scripts")
0658    add_custom_command(OUTPUT ${_out_h_FILE} ${_out_cpp_FILE}
0659       COMMAND ${PERL_EXECUTABLE} -I${_scripts_dir}
0660               ${_scripts_dir}/generate-bindings.pl
0661               --include=html
0662               --generator=JS
0663               --outputdir=${CMAKE_CURRENT_BINARY_DIR}
0664               --preprocessor=\"${QT_MOC_EXECUTABLE} -E\"
0665               --defines=ENABLE_VIDEO
0666               ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
0667       MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
0668       DEPENDS ${_scripts_dir}/CodeGeneratorJS.pm
0669       )
0670    macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${_out_h_FILE} ${_out_cpp_FILE})
0671 endmacro(create_js_binding)
0672 
0673 create_js_binding(html/TimeRanges.idl)
0674 create_js_binding(html/MediaError.idl)
0675 create_js_binding(html/HTMLMediaElement.idl)
0676 create_js_binding(html/HTMLAudioElement.idl)
0677 create_js_binding(html/HTMLVideoElement.idl)
0678 #create_js_binding(svg/SVGRectElement.idl)
0679 #create_js_binding(svg/SVGRect.idl)
0680 #create_js_binding(svg/SVGElement.idl)
0681 #create_js_binding(svg/SVGDocument.idl)
0682 #create_js_binding(svg/SVGAngle.idl)
0683 #create_js_binding(svg/SVGSVGElement.idl)
0684 #create_js_binding(svg/SVGLength.idl)
0685 #create_js_binding(svg/SVGNumber.idl)
0686 #create_js_binding(svg/SVGPoint.idl)
0687 #create_js_binding(svg/SVGMatrix.idl)
0688 #create_js_binding(svg/SVGTransform.idl)
0689 #create_js_binding(svg/SVGException.idl)
0690 #create_js_binding(svg/SVGPaint.idl)
0691 #create_js_binding(svg/SVGNumberList.idl)
0692 #create_js_binding(svg/SVGAnimatedLength.idl)
0693 #create_js_binding(svg/SVGRectElement.idl)
0694 #create_js_binding(svg/SVGTransformList.idl)
0695 #create_js_binding(svg/SVGAnimatedTransformList.idl)
0696 ##create_js_binding(svg/SVGLocatable.idl)
0697 ##create_js_binding(svg/SVGTransformable.idl)
0698 #create_js_binding(svg/SVGAnimatedString.idl)
0699 #create_js_binding(svg/SVGAnimatedBoolean.idl)
0700 #create_js_binding(svg/SVGStringList.idl)
0701 #create_js_binding(svg/SVGEllipseElement.idl)
0702 #create_js_binding(svg/SVGCircleElement.idl)
0703 #create_js_binding(svg/SVGLineElement.idl)
0704 #create_js_binding(svg/SVGScriptElement.idl)
0705 #create_js_binding(svg/SVGPathSeg.idl)
0706 #create_js_binding(svg/SVGPathElement.idl)
0707 #create_js_binding(svg/SVGAnimatedNumber.idl)
0708 #create_js_binding(svg/SVGPathSegArcAbs.idl)
0709 #create_js_binding(svg/SVGPathSegArcRel.idl)
0710 #create_js_binding(svg/SVGPathSegClosePath.idl)
0711 #create_js_binding(svg/SVGPathSegCurvetoCubicAbs.idl)
0712 #create_js_binding(svg/SVGPathSegCurvetoCubicRel.idl)
0713 #create_js_binding(svg/SVGPathSegCurvetoCubicSmoothAbs.idl)
0714 #create_js_binding(svg/SVGPathSegCurvetoCubicSmoothRel.idl)
0715 #create_js_binding(svg/SVGPathSegCurvetoQuadraticAbs.idl)
0716 #create_js_binding(svg/SVGPathSegCurvetoQuadraticRel.idl)
0717 #create_js_binding(svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl)
0718 #create_js_binding(svg/SVGPathSegCurvetoQuadraticSmoothRel.idl)
0719 #create_js_binding(svg/SVGPathSegLinetoAbs.idl)
0720 #create_js_binding(svg/SVGPathSegLinetoHorizontalAbs.idl)
0721 #create_js_binding(svg/SVGPathSegLinetoHorizontalRel.idl)
0722 #create_js_binding(svg/SVGPathSegLinetoRel.idl)
0723 #create_js_binding(svg/SVGPathSegLinetoVerticalAbs.idl)
0724 #create_js_binding(svg/SVGPathSegLinetoVerticalRel.idl)
0725 #create_js_binding(svg/SVGPathSegList.idl)
0726 #create_js_binding(svg/SVGPathSegMovetoAbs.idl)
0727 #create_js_binding(svg/SVGPathSegMovetoRel.idl)
0728 
0729 
0730 
0731 ########### khtmlpart ###############
0732 
0733 set(khtmlpart_PART_SRCS khtml_factory.cpp )
0734 
0735 
0736 add_library(khtmlpart MODULE ${khtmlpart_PART_SRCS})
0737 kcoreaddons_desktop_to_json(khtmlpart khtml.desktop)
0738 
0739 target_link_libraries(khtmlpart KF5::KHtml KF5::XmlGui KF5::TextWidgets KF5::Parts KF5::I18n)
0740 
0741 ecm_generate_headers(KHtml_HEADERS
0742   HEADER_NAMES
0743   KHTMLPart
0744   KHTMLView
0745   KHTMLSettings
0746 
0747   REQUIRED_HEADERS KHtml_HEADERS
0748 )
0749 
0750 install(TARGETS khtmlpart  DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts)
0751 
0752 
0753 ########### next target ###############
0754 
0755 # Note that khtmlimage.cpp is part of libkhtml because it uses internal objects (render tree and loader)
0756 # Only the entry point is separated into khtmlimage_init.cpp
0757 add_library(khtmlimagepart MODULE khtmlimage_init.cpp)
0758 
0759 kcoreaddons_desktop_to_json(khtmlimagepart khtmlimage.desktop)
0760 
0761 target_link_libraries(khtmlimagepart KF5::KHtml KF5::WidgetsAddons KF5::XmlGui KF5::TextWidgets KF5::Parts KF5::I18n)
0762 
0763 install(TARGETS khtmlimagepart  DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts)
0764 
0765 ########### next target ###############
0766 
0767 add_library(khtmladaptorpart MODULE khtmladaptorpart.cpp)
0768 
0769 target_link_libraries(khtmladaptorpart KF5::Parts KF5::JS KF5::I18n KF5::XmlGui)
0770 
0771 install(TARGETS khtmladaptorpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts)
0772 
0773 
0774 ########### install files ###############
0775 
0776 install(TARGETS KF5KHtml EXPORT KF5KHtmlTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
0777 
0778 install(FILES
0779   ${CMAKE_CURRENT_BINARY_DIR}/khtml_export.h
0780   ${CMAKE_CURRENT_BINARY_DIR}/khtml_debug.h
0781   khtml_part.h
0782   khtml_events.h
0783   khtml_settings.h
0784   khtmldefaults.h
0785   misc/kencodingdetector.h
0786   ${KHtml_HEADERS}
0787   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KHtml COMPONENT Devel
0788 )
0789 
0790 install(FILES
0791   dom/dom_exception.h
0792   dom/html_base.h
0793   dom/html_inline.h
0794   dom/css_rule.h
0795   dom/dom_html.h
0796   dom/html_block.h
0797   dom/html_list.h
0798   dom/css_stylesheet.h
0799   dom/dom_misc.h
0800   dom/html_document.h
0801   dom/html_misc.h
0802   dom/css_value.h
0803   dom/dom_node.h
0804   dom/html_element.h
0805   dom/html_object.h
0806   dom/dom_core.h
0807   dom/dom_string.h
0808   dom/html_form.h
0809   dom/html_table.h
0810   dom/dom_doc.h
0811   dom/dom_text.h
0812   dom/html_head.h
0813   dom/dom_element.h
0814   dom/dom_xml.h
0815   dom/html_image.h
0816   dom/dom2_range.h
0817   dom/dom2_traversal.h
0818   dom/dom2_events.h
0819   dom/dom2_views.h
0820   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KHtml/dom COMPONENT Devel
0821 )
0822 
0823 ecm_qt_install_logging_categories(
0824     EXPORT KHTML
0825     FILE khtml.categories
0826     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0827 )
0828 
0829 install(FILES khtml.desktop khtmlimage.desktop
0830          khtmladaptorpart.desktop DESTINATION  ${KDE_INSTALL_KSERVICES5DIR} )
0831 
0832 # install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KHtmlPart.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR} )
0833 
0834 install(FILES error.html DESTINATION ${KDE_INSTALL_DATADIR_KF5}/khtml )
0835 
0836 install(FILES khtmlrc DESTINATION ${KDE_INSTALL_CONFDIR} )
0837 
0838 include(ECMGeneratePriFile)
0839 ecm_generate_pri_file(BASE_NAME KHtml LIB_NAME KF5KHtml DEPS "gui KIOCore KJS KI18n KParts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KHtml)
0840 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})