diff options
Diffstat (limited to 'Userland/Libraries/LibWeb/CMakeLists.txt')
-rw-r--r-- | Userland/Libraries/LibWeb/CMakeLists.txt | 399 |
1 files changed, 399 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt new file mode 100644 index 0000000000..4e4abc1551 --- /dev/null +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -0,0 +1,399 @@ +set(SOURCES + Bindings/EventListenerWrapper.cpp + Bindings/EventWrapperFactory.cpp + Bindings/EventTargetWrapperFactory.cpp + Bindings/LocationObject.cpp + Bindings/NavigatorObject.cpp + Bindings/NodeWrapperFactory.cpp + Bindings/ScriptExecutionContext.cpp + Bindings/WindowObject.cpp + Bindings/Wrappable.cpp + Bindings/XMLHttpRequestConstructor.cpp + Bindings/XMLHttpRequestPrototype.cpp + Bindings/XMLHttpRequestWrapper.cpp + Bindings/RangeConstructor.cpp + Bindings/RangePrototype.cpp + Bindings/RangeWrapper.cpp + CSS/DefaultStyleSheetSource.cpp + CSS/Length.cpp + CSS/Parser/CSSParser.cpp + CSS/PropertyID.cpp + CSS/PropertyID.h + CSS/QuirksModeStyleSheetSource.cpp + CSS/Selector.cpp + CSS/SelectorEngine.cpp + CSS/StyleDeclaration.cpp + CSS/StyleInvalidator.cpp + CSS/StyleProperties.cpp + CSS/StyleResolver.cpp + CSS/StyleRule.cpp + CSS/StyleSheet.cpp + CSS/StyleSheetList.cpp + CSS/StyleValue.cpp + CSS/ValueID.cpp + CSS/ValueID.h + DOM/CharacterData.cpp + DOM/CharacterData.idl + DOM/Comment.cpp + DOM/Document.cpp + DOM/DocumentFragment.cpp + DOM/DocumentType.cpp + DOM/DOMImplementation.cpp + DOM/Element.cpp + DOM/ElementFactory.cpp + DOM/Event.cpp + DOM/Range.cpp + DOM/EventDispatcher.cpp + DOM/EventListener.cpp + DOM/EventTarget.cpp + DOM/Node.cpp + DOM/ParentNode.cpp + DOM/Position.cpp + DOM/ShadowRoot.cpp + DOM/Text.cpp + DOM/Text.idl + DOM/Timer.cpp + DOM/Window.cpp + DOM/XMLHttpRequest.cpp + DOMTreeModel.cpp + Dump.cpp + FontCache.cpp + HTML/AttributeNames.cpp + HTML/CanvasRenderingContext2D.cpp + HTML/EventNames.cpp + HTML/HTMLAnchorElement.cpp + HTML/HTMLAreaElement.cpp + HTML/HTMLAudioElement.cpp + HTML/HTMLBRElement.cpp + HTML/HTMLBaseElement.cpp + HTML/HTMLBlinkElement.cpp + HTML/HTMLBodyElement.cpp + HTML/HTMLButtonElement.cpp + HTML/HTMLCanvasElement.cpp + HTML/HTMLDListElement.cpp + HTML/HTMLDataElement.cpp + HTML/HTMLDataListElement.cpp + HTML/HTMLDetailsElement.cpp + HTML/HTMLDialogElement.cpp + HTML/HTMLDirectoryElement.cpp + HTML/HTMLDivElement.cpp + HTML/HTMLElement.cpp + HTML/HTMLEmbedElement.cpp + HTML/HTMLFieldSetElement.cpp + HTML/HTMLFontElement.cpp + HTML/HTMLFormElement.cpp + HTML/HTMLFrameElement.cpp + HTML/HTMLFrameSetElement.cpp + HTML/HTMLHRElement.cpp + HTML/HTMLHeadElement.cpp + HTML/HTMLHeadingElement.cpp + HTML/HTMLHtmlElement.cpp + HTML/HTMLIFrameElement.cpp + HTML/HTMLImageElement.cpp + HTML/HTMLInputElement.cpp + HTML/HTMLLIElement.cpp + HTML/HTMLLabelElement.cpp + HTML/HTMLLegendElement.cpp + HTML/HTMLLinkElement.cpp + HTML/HTMLMapElement.cpp + HTML/HTMLMarqueeElement.cpp + HTML/HTMLMediaElement.cpp + HTML/HTMLMenuElement.cpp + HTML/HTMLMetaElement.cpp + HTML/HTMLMeterElement.cpp + HTML/HTMLModElement.cpp + HTML/HTMLOListElement.cpp + HTML/HTMLObjectElement.cpp + HTML/HTMLOptGroupElement.cpp + HTML/HTMLOptionElement.cpp + HTML/HTMLOutputElement.cpp + HTML/HTMLParagraphElement.cpp + HTML/HTMLParamElement.cpp + HTML/HTMLPictureElement.cpp + HTML/HTMLPreElement.cpp + HTML/HTMLProgressElement.cpp + HTML/HTMLQuoteElement.cpp + HTML/HTMLScriptElement.cpp + HTML/HTMLSelectElement.cpp + HTML/HTMLSlotElement.cpp + HTML/HTMLSourceElement.cpp + HTML/HTMLSpanElement.cpp + HTML/HTMLStyleElement.cpp + HTML/HTMLTableCaptionElement.cpp + HTML/HTMLTableCellElement.cpp + HTML/HTMLTableColElement.cpp + HTML/HTMLTableElement.cpp + HTML/HTMLTableRowElement.cpp + HTML/HTMLTableSectionElement.cpp + HTML/HTMLTemplateElement.cpp + HTML/HTMLTextAreaElement.cpp + HTML/HTMLTimeElement.cpp + HTML/HTMLTitleElement.cpp + HTML/HTMLTrackElement.cpp + HTML/HTMLUListElement.cpp + HTML/HTMLUnknownElement.cpp + HTML/HTMLVideoElement.cpp + HTML/ImageData.cpp + HTML/Parser/Entities.cpp + HTML/Parser/HTMLDocumentParser.cpp + HTML/Parser/HTMLToken.cpp + HTML/Parser/HTMLTokenizer.cpp + HTML/Parser/ListOfActiveFormattingElements.cpp + HTML/Parser/StackOfOpenElements.cpp + HTML/TagNames.cpp + HighResolutionTime/Performance.cpp + InProcessWebView.cpp + Layout/BlockBox.cpp + Layout/BlockFormattingContext.cpp + Layout/Box.cpp + Layout/BoxModelMetrics.cpp + Layout/BreakNode.cpp + Layout/ButtonBox.cpp + Layout/CanvasBox.cpp + Layout/CheckBox.cpp + Layout/FormattingContext.cpp + Layout/FrameBox.cpp + Layout/ImageBox.cpp + Layout/InitialContainingBlockBox.cpp + Layout/InlineFormattingContext.cpp + Layout/InlineNode.cpp + Layout/LayoutPosition.cpp + Layout/LineBox.cpp + Layout/LineBoxFragment.cpp + Layout/ListItemBox.cpp + Layout/ListItemMarkerBox.cpp + Layout/Node.cpp + Layout/ReplacedBox.cpp + Layout/SVGBox.cpp + Layout/SVGGraphicsBox.cpp + Layout/SVGPathBox.cpp + Layout/SVGSVGBox.cpp + Layout/TableBox.cpp + Layout/TableCellBox.cpp + Layout/TableFormattingContext.cpp + Layout/TableRowBox.cpp + Layout/TableRowGroupBox.cpp + Layout/TextNode.cpp + Layout/TreeBuilder.cpp + Layout/WidgetBox.cpp + LayoutTreeModel.cpp + Loader/ContentFilter.cpp + Loader/FrameLoader.cpp + Loader/ImageLoader.cpp + Loader/ImageResource.cpp + Loader/Resource.cpp + Loader/ResourceLoader.cpp + Namespace.cpp + OutOfProcessWebView.cpp + Page/EventHandler.cpp + Page/EditEventHandler.cpp + Page/Frame.cpp + Page/Page.cpp + Painting/BorderPainting.cpp + Painting/StackingContext.cpp + SVG/SVGElement.cpp + SVG/SVGGeometryElement.cpp + SVG/SVGGraphicsElement.cpp + SVG/SVGPathElement.cpp + SVG/SVGSVGElement.cpp + SVG/TagNames.cpp + StylePropertiesModel.cpp + UIEvents/EventNames.cpp + UIEvents/MouseEvent.cpp + URLEncoder.cpp + WebContentClient.cpp +) + +set(GENERATED_SOURCES + ../../Services/ProtocolServer/ProtocolClientEndpoint.h + ../../Services/ProtocolServer/ProtocolServerEndpoint.h + ../../Services/WebContent/WebContentClientEndpoint.h + ../../Services/WebContent/WebContentServerEndpoint.h +) + +set_property(GLOBAL PROPERTY wrapper_sources) +function(add_wrapper_sources) + get_property(tmp GLOBAL PROPERTY wrapper_sources) + foreach(arg ${ARGV}) + set(tmp ${tmp} + ${arg} + ) + endforeach() + set_property(GLOBAL PROPERTY wrapper_sources "${tmp}") +endfunction(add_wrapper_sources) + +function(libweb_js_wrapper class) + get_filename_component(basename ${class} NAME) + add_wrapper_sources(Bindings/${basename}Wrapper.cpp Bindings/${basename}Wrapper.h) + add_custom_command( + OUTPUT Bindings/${basename}Wrapper.h + COMMAND ${write_if_different} Bindings/${basename}Wrapper.h CodeGenerators/WrapperGenerator --header ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl + VERBATIM + DEPENDS WrapperGenerator + MAIN_DEPENDENCY ${class}.idl + ) + add_custom_command( + OUTPUT Bindings/${basename}Wrapper.cpp + COMMAND ${write_if_different} Bindings/${basename}Wrapper.cpp CodeGenerators/WrapperGenerator --implementation ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl + VERBATIM + DEPENDS WrapperGenerator + MAIN_DEPENDENCY ${class}.idl + ) + add_custom_target(generate_${basename}Wrapper.h DEPENDS Bindings/${class}Wrapper.h) + add_custom_target(generate_${basename}Wrapper.cpp DEPENDS Bindings/${class}Wrapper.cpp) +endfunction() + +libweb_js_wrapper(DOM/CharacterData) +libweb_js_wrapper(DOM/Comment) +libweb_js_wrapper(DOM/Document) +libweb_js_wrapper(DOM/DocumentFragment) +libweb_js_wrapper(DOM/DocumentType) +libweb_js_wrapper(DOM/DOMImplementation) +libweb_js_wrapper(DOM/Element) +libweb_js_wrapper(DOM/Event) +libweb_js_wrapper(DOM/EventTarget) +libweb_js_wrapper(DOM/ShadowRoot) +libweb_js_wrapper(DOM/Node) +libweb_js_wrapper(DOM/Text) +libweb_js_wrapper(HTML/CanvasRenderingContext2D) +libweb_js_wrapper(HTML/HTMLAnchorElement) +libweb_js_wrapper(HTML/HTMLAreaElement) +libweb_js_wrapper(HTML/HTMLAudioElement) +libweb_js_wrapper(HTML/HTMLBaseElement) +libweb_js_wrapper(HTML/HTMLBodyElement) +libweb_js_wrapper(HTML/HTMLBRElement) +libweb_js_wrapper(HTML/HTMLButtonElement) +libweb_js_wrapper(HTML/HTMLCanvasElement) +libweb_js_wrapper(HTML/HTMLDataElement) +libweb_js_wrapper(HTML/HTMLDataListElement) +libweb_js_wrapper(HTML/HTMLDetailsElement) +libweb_js_wrapper(HTML/HTMLDialogElement) +libweb_js_wrapper(HTML/HTMLDirectoryElement) +libweb_js_wrapper(HTML/HTMLDivElement) +libweb_js_wrapper(HTML/HTMLDListElement) +libweb_js_wrapper(HTML/HTMLElement) +libweb_js_wrapper(HTML/HTMLEmbedElement) +libweb_js_wrapper(HTML/HTMLFieldSetElement) +libweb_js_wrapper(HTML/HTMLFontElement) +libweb_js_wrapper(HTML/HTMLFormElement) +libweb_js_wrapper(HTML/HTMLFrameElement) +libweb_js_wrapper(HTML/HTMLFrameSetElement) +libweb_js_wrapper(HTML/HTMLHeadElement) +libweb_js_wrapper(HTML/HTMLHeadingElement) +libweb_js_wrapper(HTML/HTMLHRElement) +libweb_js_wrapper(HTML/HTMLHtmlElement) +libweb_js_wrapper(HTML/HTMLIFrameElement) +libweb_js_wrapper(HTML/HTMLImageElement) +libweb_js_wrapper(HTML/HTMLInputElement) +libweb_js_wrapper(HTML/HTMLLabelElement) +libweb_js_wrapper(HTML/HTMLLegendElement) +libweb_js_wrapper(HTML/HTMLLIElement) +libweb_js_wrapper(HTML/HTMLLinkElement) +libweb_js_wrapper(HTML/HTMLMapElement) +libweb_js_wrapper(HTML/HTMLMarqueeElement) +libweb_js_wrapper(HTML/HTMLMediaElement) +libweb_js_wrapper(HTML/HTMLMenuElement) +libweb_js_wrapper(HTML/HTMLMetaElement) +libweb_js_wrapper(HTML/HTMLMeterElement) +libweb_js_wrapper(HTML/HTMLModElement) +libweb_js_wrapper(HTML/HTMLObjectElement) +libweb_js_wrapper(HTML/HTMLOListElement) +libweb_js_wrapper(HTML/HTMLOptGroupElement) +libweb_js_wrapper(HTML/HTMLOptionElement) +libweb_js_wrapper(HTML/HTMLOutputElement) +libweb_js_wrapper(HTML/HTMLParagraphElement) +libweb_js_wrapper(HTML/HTMLParamElement) +libweb_js_wrapper(HTML/HTMLPictureElement) +libweb_js_wrapper(HTML/HTMLPreElement) +libweb_js_wrapper(HTML/HTMLProgressElement) +libweb_js_wrapper(HTML/HTMLQuoteElement) +libweb_js_wrapper(HTML/HTMLScriptElement) +libweb_js_wrapper(HTML/HTMLSelectElement) +libweb_js_wrapper(HTML/HTMLSlotElement) +libweb_js_wrapper(HTML/HTMLSourceElement) +libweb_js_wrapper(HTML/HTMLSpanElement) +libweb_js_wrapper(HTML/HTMLStyleElement) +libweb_js_wrapper(HTML/HTMLTableCaptionElement) +libweb_js_wrapper(HTML/HTMLTableCellElement) +libweb_js_wrapper(HTML/HTMLTableColElement) +libweb_js_wrapper(HTML/HTMLTableElement) +libweb_js_wrapper(HTML/HTMLTableRowElement) +libweb_js_wrapper(HTML/HTMLTableSectionElement) +libweb_js_wrapper(HTML/HTMLTemplateElement) +libweb_js_wrapper(HTML/HTMLTextAreaElement) +libweb_js_wrapper(HTML/HTMLTimeElement) +libweb_js_wrapper(HTML/HTMLTitleElement) +libweb_js_wrapper(HTML/HTMLTrackElement) +libweb_js_wrapper(HTML/HTMLUListElement) +libweb_js_wrapper(HTML/HTMLUnknownElement) +libweb_js_wrapper(HTML/HTMLVideoElement) +libweb_js_wrapper(HTML/ImageData) +libweb_js_wrapper(HTML/SubmitEvent) +libweb_js_wrapper(HighResolutionTime/Performance) +libweb_js_wrapper(SVG/SVGElement) +libweb_js_wrapper(SVG/SVGGeometryElement) +libweb_js_wrapper(SVG/SVGGraphicsElement) +libweb_js_wrapper(SVG/SVGPathElement) +libweb_js_wrapper(SVG/SVGSVGElement) +libweb_js_wrapper(UIEvents/MouseEvent) +libweb_js_wrapper(UIEvents/UIEvent) + +get_property(WRAPPER_SOURCES GLOBAL PROPERTY wrapper_sources) +set(SOURCES ${SOURCES} ${WRAPPER_SOURCES}) + +add_custom_command( + OUTPUT CSS/PropertyID.h + COMMAND ${write_if_different} CSS/PropertyID.h CodeGenerators/Generate_CSS_PropertyID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json + VERBATIM + DEPENDS Generate_CSS_PropertyID_h + MAIN_DEPENDENCY CSS/Properties.json +) +add_custom_target(generate_PropertyID.h DEPENDS CSS/PropertyID.h) + +add_custom_command( + OUTPUT CSS/PropertyID.cpp + COMMAND /bin/mkdir -p CSS + COMMAND ${write_if_different} CSS/PropertyID.cpp CodeGenerators/Generate_CSS_PropertyID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json + VERBATIM + DEPENDS Generate_CSS_PropertyID_cpp + MAIN_DEPENDENCY CSS/Properties.json +) + +add_custom_command( + OUTPUT CSS/ValueID.h + COMMAND ${write_if_different} CSS/ValueID.h CodeGenerators/Generate_CSS_ValueID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json + VERBATIM + DEPENDS Generate_CSS_ValueID_h + MAIN_DEPENDENCY CSS/Identifiers.json +) +add_custom_target(generate_ValueID.h DEPENDS CSS/ValueID.h) + +add_custom_command( + OUTPUT CSS/ValueID.cpp + COMMAND /bin/mkdir -p CSS + COMMAND ${write_if_different} CSS/ValueID.cpp CodeGenerators/Generate_CSS_ValueID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json + VERBATIM + DEPENDS Generate_CSS_ValueID_cpp + MAIN_DEPENDENCY CSS/Identifiers.json +) + +add_custom_command( + OUTPUT CSS/DefaultStyleSheetSource.cpp + COMMAND ${write_if_different} CSS/DefaultStyleSheetSource.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh default_stylesheet_source ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Default.css + VERBATIM + DEPENDS Scripts/GenerateStyleSheetSource.sh + MAIN_DEPENDENCY CSS/Default.css +) + +add_custom_command( + OUTPUT CSS/QuirksModeStyleSheetSource.cpp + COMMAND ${write_if_different} CSS/QuirksModeStyleSheetSource.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh quirks_mode_stylesheet_source ${CMAKE_CURRENT_SOURCE_DIR}/CSS/QuirksMode.css + VERBATIM + DEPENDS Scripts/GenerateStyleSheetSource.sh + MAIN_DEPENDENCY CSS/Default.css +) + +serenity_lib(LibWeb web) +target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGemini LibGUI LibGfx LibTextCodec LibProtocol LibImageDecoderClient) + +add_subdirectory(DumpLayoutTree) |