mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 06:02:44 +00:00 
			
		
		
		
	 19d6884529
			
		
	
	
		19d6884529
		
	
	
	
	
		
			
			This allows us to determine which mode to render the page in. Exposes "doctype" and "compatMode" on Document. Exposes "name", "publicId" and "systemId" on DocumentType.
		
			
				
	
	
		
			202 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			202 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(SOURCES
 | |
|     Bindings/EventListenerWrapper.cpp
 | |
|     Bindings/EventWrapperFactory.cpp
 | |
|     Bindings/LocationObject.cpp
 | |
|     Bindings/NavigatorObject.cpp
 | |
|     Bindings/NodeWrapperFactory.cpp
 | |
|     Bindings/WindowObject.cpp
 | |
|     Bindings/Wrappable.cpp
 | |
|     Bindings/XMLHttpRequestConstructor.cpp
 | |
|     Bindings/XMLHttpRequestPrototype.cpp
 | |
|     Bindings/XMLHttpRequestWrapper.cpp
 | |
|     CSS/Length.cpp
 | |
|     CSS/Selector.cpp
 | |
|     CSS/SelectorEngine.cpp
 | |
|     CSS/StyleDeclaration.cpp
 | |
|     CSS/StyleProperties.cpp
 | |
|     CSS/StyleResolver.cpp
 | |
|     CSS/StyleRule.cpp
 | |
|     CSS/StyleSheet.cpp
 | |
|     CSS/StyleSheetList.cpp
 | |
|     CSS/StyleValue.cpp
 | |
|     DOM/AttributeNames.cpp
 | |
|     DOM/CanvasRenderingContext2D.cpp
 | |
|     DOM/CharacterData.cpp
 | |
|     DOM/Comment.cpp
 | |
|     DOM/Document.cpp
 | |
|     DOM/DocumentType.cpp
 | |
|     DOM/Element.cpp
 | |
|     DOM/ElementFactory.cpp
 | |
|     DOM/EventListener.cpp
 | |
|     DOM/EventTarget.cpp
 | |
|     DOM/HTMLAnchorElement.cpp
 | |
|     DOM/HTMLBlinkElement.cpp
 | |
|     DOM/HTMLBodyElement.cpp
 | |
|     DOM/HTMLBRElement.cpp
 | |
|     DOM/HTMLCanvasElement.cpp
 | |
|     DOM/HTMLElement.cpp
 | |
|     DOM/HTMLFontElement.cpp
 | |
|     DOM/HTMLFormElement.cpp
 | |
|     DOM/HTMLHeadElement.cpp
 | |
|     DOM/HTMLHeadingElement.cpp
 | |
|     DOM/HTMLHRElement.cpp
 | |
|     DOM/HTMLHtmlElement.cpp
 | |
|     DOM/HTMLIFrameElement.cpp
 | |
|     DOM/HTMLImageElement.cpp
 | |
|     DOM/HTMLInputElement.cpp
 | |
|     DOM/HTMLObjectElement.cpp
 | |
|     DOM/HTMLLinkElement.cpp
 | |
|     DOM/HTMLScriptElement.cpp
 | |
|     DOM/HTMLStyleElement.cpp
 | |
|     DOM/HTMLTableElement.cpp
 | |
|     DOM/HTMLTableCellElement.cpp
 | |
|     DOM/HTMLTableRowElement.cpp
 | |
|     DOM/HTMLTitleElement.cpp
 | |
|     DOM/ImageData.cpp
 | |
|     DOM/Node.cpp
 | |
|     DOM/ParentNode.cpp
 | |
|     DOM/TagNames.cpp
 | |
|     DOM/Text.cpp
 | |
|     DOM/Timer.cpp
 | |
|     DOM/Window.cpp
 | |
|     DOM/XMLHttpRequest.cpp
 | |
|     DOMTreeModel.cpp
 | |
|     Dump.cpp
 | |
|     FontCache.cpp
 | |
|     Frame/EventHandler.cpp
 | |
|     Frame/Frame.cpp
 | |
|     Layout/BoxModelMetrics.cpp
 | |
|     Layout/LayoutBlock.cpp
 | |
|     Layout/LayoutBox.cpp
 | |
|     Layout/LayoutBreak.cpp
 | |
|     Layout/LayoutCanvas.cpp
 | |
|     Layout/LayoutDocument.cpp
 | |
|     Layout/LayoutFrame.cpp
 | |
|     Layout/LayoutImage.cpp
 | |
|     Layout/LayoutInline.cpp
 | |
|     Layout/LayoutListItem.cpp
 | |
|     Layout/LayoutListItemMarker.cpp
 | |
|     Layout/LayoutNode.cpp
 | |
|     Layout/LayoutPosition.cpp
 | |
|     Layout/LayoutReplaced.cpp
 | |
|     Layout/LayoutTable.cpp
 | |
|     Layout/LayoutTableCell.cpp
 | |
|     Layout/LayoutTableRow.cpp
 | |
|     Layout/LayoutTableRowGroup.cpp
 | |
|     Layout/LayoutText.cpp
 | |
|     Layout/LayoutTreeBuilder.cpp
 | |
|     Layout/LayoutWidget.cpp
 | |
|     Layout/LineBox.cpp
 | |
|     Layout/LineBoxFragment.cpp
 | |
|     LayoutTreeModel.cpp
 | |
|     Loader/FrameLoader.cpp
 | |
|     Loader/ImageLoader.cpp
 | |
|     Loader/ImageResource.cpp
 | |
|     Loader/Resource.cpp
 | |
|     Loader/ResourceLoader.cpp
 | |
|     Page.cpp
 | |
|     PageView.cpp
 | |
|     Painting/StackingContext.cpp
 | |
|     Parser/CSSParser.cpp
 | |
|     Parser/Entities.cpp
 | |
|     Parser/HTMLDocumentParser.cpp
 | |
|     Parser/HTMLToken.cpp
 | |
|     Parser/HTMLTokenizer.cpp
 | |
|     Parser/ListOfActiveFormattingElements.cpp
 | |
|     Parser/StackOfOpenElements.cpp
 | |
|     StylePropertiesModel.cpp
 | |
|     URLEncoder.cpp
 | |
|     CSS/PropertyID.h
 | |
|     CSS/PropertyID.cpp
 | |
|     CSS/DefaultStyleSheetSource.cpp
 | |
|     WebContentView.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)
 | |
|     add_wrapper_sources(Bindings/${class}Wrapper.cpp Bindings/${class}Wrapper.h)
 | |
|     add_custom_command(
 | |
|         OUTPUT Bindings/${class}Wrapper.h
 | |
|         COMMAND /bin/mkdir -p Bindings
 | |
|         COMMAND WrapperGenerator --header ${CMAKE_CURRENT_SOURCE_DIR}/DOM/${class}.idl > Bindings/${class}Wrapper.h
 | |
|         VERBATIM
 | |
|         DEPENDS WrapperGenerator
 | |
|         MAIN_DEPENDENCY DOM/${class}.idl
 | |
|     )
 | |
|     add_custom_command(
 | |
|         OUTPUT Bindings/${class}Wrapper.cpp
 | |
|         COMMAND /bin/mkdir -p Bindings
 | |
|         COMMAND WrapperGenerator --implementation ${CMAKE_CURRENT_SOURCE_DIR}/DOM/${class}.idl > Bindings/${class}Wrapper.cpp
 | |
|         VERBATIM
 | |
|         DEPENDS WrapperGenerator
 | |
|         MAIN_DEPENDENCY DOM/${class}.idl
 | |
|     )
 | |
|     add_custom_target(generate_${class}Wrapper.h DEPENDS Bindings/${class}Wrapper.h)
 | |
|     add_custom_target(generate_${class}Wrapper.cpp DEPENDS Bindings/${class}Wrapper.cpp)
 | |
| endfunction()
 | |
| 
 | |
| libweb_js_wrapper(EventTarget)
 | |
| libweb_js_wrapper(Node)
 | |
| libweb_js_wrapper(Document)
 | |
| libweb_js_wrapper(DocumentType)
 | |
| libweb_js_wrapper(Element)
 | |
| libweb_js_wrapper(HTMLElement)
 | |
| libweb_js_wrapper(HTMLImageElement)
 | |
| libweb_js_wrapper(HTMLCanvasElement)
 | |
| libweb_js_wrapper(ImageData)
 | |
| libweb_js_wrapper(Event)
 | |
| libweb_js_wrapper(MouseEvent)
 | |
| libweb_js_wrapper(CanvasRenderingContext2D)
 | |
| 
 | |
| get_property(WRAPPER_SOURCES GLOBAL PROPERTY wrapper_sources)
 | |
| set(SOURCES ${SOURCES} ${WRAPPER_SOURCES})
 | |
| 
 | |
| add_custom_command(
 | |
|     OUTPUT CSS/PropertyID.h
 | |
|     COMMAND /bin/mkdir -p CSS
 | |
|     COMMAND Generate_CSS_PropertyID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json > CSS/PropertyID.h
 | |
|     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 Generate_CSS_PropertyID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json > CSS/PropertyID.cpp
 | |
|     VERBATIM
 | |
|     DEPENDS Generate_CSS_PropertyID_cpp
 | |
|     MAIN_DEPENDENCY CSS/Properties.json
 | |
| )
 | |
| 
 | |
| add_custom_command(
 | |
|     OUTPUT CSS/DefaultStyleSheetSource.cpp
 | |
|     COMMAND /bin/mkdir -p CSS
 | |
|     COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh default_stylesheet_source
 | |
|             ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Default.css > CSS/DefaultStyleSheetSource.cpp
 | |
|     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)
 |