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})