summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibWeb/CMakeLists.txt')
-rw-r--r--Userland/Libraries/LibWeb/CMakeLists.txt399
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)