1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:17:44 +00:00

Build: Switch to CMake :^)

Closes https://github.com/SerenityOS/serenity/issues/2080
This commit is contained in:
Sergey Bugaev 2020-05-06 18:40:06 +03:00 committed by Andreas Kling
parent 49727ffee4
commit 450a2a0f9c
236 changed files with 1774 additions and 2337 deletions

View file

@ -0,0 +1,131 @@
set(SOURCES
Bindings/CanvasRenderingContext2DWrapper.cpp
Bindings/DocumentWrapper.cpp
Bindings/ElementWrapper.cpp
Bindings/EventListenerWrapper.cpp
Bindings/EventTargetWrapper.cpp
Bindings/EventWrapper.cpp
Bindings/HTMLCanvasElementWrapper.cpp
Bindings/HTMLImageElementWrapper.cpp
Bindings/ImageDataWrapper.cpp
Bindings/MouseEventWrapper.cpp
Bindings/NavigatorObject.cpp
Bindings/NodeWrapper.cpp
Bindings/WindowObject.cpp
Bindings/Wrappable.cpp
Bindings/XMLHttpRequestConstructor.cpp
Bindings/XMLHttpRequestPrototype.cpp
Bindings/XMLHttpRequestWrapper.cpp
CSS/Selector.cpp
CSS/SelectorEngine.cpp
CSS/StyleDeclaration.cpp
CSS/StyleProperties.cpp
CSS/StyleResolver.cpp
CSS/StyleRule.cpp
CSS/StyleSheet.cpp
CSS/StyleValue.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/HTMLImageElement.cpp
DOM/HTMLInputElement.cpp
DOM/HTMLLinkElement.cpp
DOM/HTMLScriptElement.cpp
DOM/HTMLStyleElement.cpp
DOM/HTMLTitleElement.cpp
DOM/ImageData.cpp
DOM/Node.cpp
DOM/ParentNode.cpp
DOM/Text.cpp
DOMTreeModel.cpp
DOM/Window.cpp
DOM/XMLHttpRequest.cpp
Dump.cpp
FontCache.cpp
Frame.cpp
HtmlView.cpp
Layout/BoxModelMetrics.cpp
Layout/LayoutBlock.cpp
Layout/LayoutBox.cpp
Layout/LayoutBreak.cpp
Layout/LayoutCanvas.cpp
Layout/LayoutDocument.cpp
Layout/LayoutImage.cpp
Layout/LayoutInline.cpp
Layout/LayoutListItem.cpp
Layout/LayoutListItemMarker.cpp
Layout/LayoutNode.cpp
Layout/LayoutReplaced.cpp
Layout/LayoutTableCell.cpp
Layout/LayoutTable.cpp
Layout/LayoutTableRow.cpp
Layout/LayoutText.cpp
Layout/LayoutTreeBuilder.cpp
Layout/LayoutWidget.cpp
Layout/LineBox.cpp
Layout/LineBoxFragment.cpp
Parser/CSSParser.cpp
Parser/HTMLParser.cpp
ResourceLoader.cpp
StylePropertiesModel.cpp
URLEncoder.cpp
CSS/PropertyID.h
CSS/PropertyID.cpp
CSS/DefaultStyleSheetSource.cpp
)
set(GENERATED_SOURCES
../../Services/ProtocolServer/ProtocolClientEndpoint.h
../../Services/ProtocolServer/ProtocolServerEndpoint.h
)
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 LibGUI LibGfx LibTextCodec LibProtocol)

View file

@ -0,0 +1,4 @@
add_executable(Generate_CSS_PropertyID_h Generate_CSS_PropertyID_h.cpp)
add_executable(Generate_CSS_PropertyID_cpp Generate_CSS_PropertyID_cpp.cpp)
target_link_libraries(Generate_CSS_PropertyID_h LagomCore)
target_link_libraries(Generate_CSS_PropertyID_cpp LagomCore)

View file

@ -1,26 +0,0 @@
USE_HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_cpp
OBJS = \
Generate_CSS_PropertyID_cpp.o \
../../../../AK/FlyString.o \
../../../../AK/JsonParser.o \
../../../../AK/JsonValue.o \
../../../../AK/LogStream.o \
../../../../AK/String.o \
../../../../AK/StringBuilder.o \
../../../../AK/StringImpl.o \
../../../../AK/StringUtils.o \
../../../../AK/StringView.o \
../../../../Libraries/LibCore/IODevice.o \
../../../../Libraries/LibCore/File.o \
../../../../Libraries/LibCore/Object.o \
../../../../Libraries/LibCore/Event.o \
../../../../Libraries/LibCore/Socket.o \
../../../../Libraries/LibCore/LocalSocket.o \
../../../../Libraries/LibCore/Notifier.o \
../../../../Libraries/LibCore/LocalServer.o \
../../../../Libraries/LibCore/EventLoop.o
include ../../../../Makefile.common

View file

@ -1,26 +0,0 @@
USE_HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_h
OBJS = \
Generate_CSS_PropertyID_h.o \
../../../../AK/FlyString.o \
../../../../AK/JsonParser.o \
../../../../AK/JsonValue.o \
../../../../AK/LogStream.o \
../../../../AK/String.o \
../../../../AK/StringBuilder.o \
../../../../AK/StringImpl.o \
../../../../AK/StringUtils.o \
../../../../AK/StringView.o \
../../../../Libraries/LibCore/IODevice.o \
../../../../Libraries/LibCore/File.o \
../../../../Libraries/LibCore/Object.o \
../../../../Libraries/LibCore/Event.o \
../../../../Libraries/LibCore/Socket.o \
../../../../Libraries/LibCore/LocalSocket.o \
../../../../Libraries/LibCore/Notifier.o \
../../../../Libraries/LibCore/LocalServer.o \
../../../../Libraries/LibCore/EventLoop.o
include ../../../../Makefile.common

View file

@ -1,3 +0,0 @@
SUBDIRS := $(wildcard */.)
include ../../../Makefile.subdir

View file

@ -1,140 +0,0 @@
LIBWEB_OBJS = \
Bindings/CanvasRenderingContext2DWrapper.o \
Bindings/DocumentWrapper.o \
Bindings/ElementWrapper.o \
Bindings/EventWrapper.o \
Bindings/EventListenerWrapper.o \
Bindings/EventTargetWrapper.o \
Bindings/HTMLCanvasElementWrapper.o \
Bindings/HTMLImageElementWrapper.o \
Bindings/ImageDataWrapper.o \
Bindings/MouseEventWrapper.o \
Bindings/NavigatorObject.o \
Bindings/NodeWrapper.o \
Bindings/WindowObject.o \
Bindings/Wrappable.o \
Bindings/XMLHttpRequestConstructor.o \
Bindings/XMLHttpRequestPrototype.o \
Bindings/XMLHttpRequestWrapper.o \
CSS/DefaultStyleSheetSource.o \
CSS/PropertyID.o \
CSS/Selector.o \
CSS/SelectorEngine.o \
CSS/StyleDeclaration.o \
CSS/StyleProperties.o \
CSS/StyleResolver.o \
CSS/StyleRule.o \
CSS/StyleSheet.o \
CSS/StyleValue.o \
DOM/CanvasRenderingContext2D.o \
DOM/CharacterData.o \
DOM/Comment.o \
DOM/Document.o \
DOM/DocumentType.o \
DOM/Element.o \
DOM/ElementFactory.o \
DOM/EventListener.o \
DOM/EventTarget.o \
DOM/HTMLAnchorElement.o \
DOM/HTMLBRElement.o \
DOM/HTMLBlinkElement.o \
DOM/HTMLBodyElement.o \
DOM/HTMLCanvasElement.o \
DOM/HTMLElement.o \
DOM/HTMLFontElement.o \
DOM/HTMLFormElement.o \
DOM/HTMLHRElement.o \
DOM/HTMLHeadElement.o \
DOM/HTMLHeadingElement.o \
DOM/HTMLHtmlElement.o \
DOM/HTMLImageElement.o \
DOM/HTMLInputElement.o \
DOM/HTMLLinkElement.o \
DOM/HTMLScriptElement.o \
DOM/HTMLStyleElement.o \
DOM/HTMLTitleElement.o \
DOM/ImageData.o \
DOM/Node.o \
DOM/ParentNode.o \
DOM/Text.o \
DOM/Window.o \
DOM/XMLHttpRequest.o \
StylePropertiesModel.o \
DOMTreeModel.o \
Dump.o \
FontCache.o \
Frame.o \
HtmlView.o \
Layout/BoxModelMetrics.o \
Layout/LayoutBlock.o \
Layout/LayoutBox.o \
Layout/LayoutBreak.o \
Layout/LayoutCanvas.o \
Layout/LayoutDocument.o \
Layout/LayoutImage.o \
Layout/LayoutInline.o \
Layout/LayoutListItem.o \
Layout/LayoutListItemMarker.o \
Layout/LayoutNode.o \
Layout/LayoutReplaced.o \
Layout/LayoutTable.o \
Layout/LayoutTableCell.o \
Layout/LayoutTableRow.o \
Layout/LayoutText.o \
Layout/LayoutTreeBuilder.o \
Layout/LayoutWidget.o \
Layout/LineBox.o \
Layout/LineBoxFragment.o \
Parser/CSSParser.o \
Parser/HTMLParser.o \
ResourceLoader.o \
URLEncoder.o
EXTRA_SOURCES = \
CSS/DefaultStyleSheetSource.cpp \
CSS/PropertyID.h \
CSS/PropertyID.cpp
GENERATE_CSS_PROPERTYID_CPP = CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp
GENERATE_CSS_PROPERTYID_H = CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h
$(GENERATE_CSS_PROPERTYID_H):
@flock $(dir $(GENERATE_CSS_PROPERTYID_H)) $(MAKE) -C $(dir $(GENERATE_CSS_PROPERTYID_H))
$(GENERATE_CSS_PROPERTYID_CPP):
@flock $(dir $(GENERATE_CSS_PROPERTYID_CPP)) $(MAKE) -C $(dir $(GENERATE_CSS_PROPERTYID_CPP))
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"
$(QUIET) Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
CSS/PropertyID.h: CSS/Properties.json $(GENERATE_CSS_PROPERTYID_H)
@echo "GENERATE $@"
$(QUIET) flock CSS $(GENERATE_CSS_PROPERTYID_H) $< > $@
CSS/PropertyID.cpp: CSS/Properties.json $(GENERATE_CSS_PROPERTYID_CPP)
@echo "GENERATE $@"
$(QUIET) flock CSS $(GENERATE_CSS_PROPERTYID_CPP) $< > $@
ResourceLoader.cpp: ../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h
../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h:
@flock $(dir $(@)) $(MAKE) -C $(dir $(@))
EXTRA_CLEAN = CSS/DefaultStyleSheetSource.cpp CSS/PropertyID.h CSS/PropertyID.cpp
OBJS = $(EXTRA_OBJS) $(LIBWEB_OBJS)
LIBRARY = libweb.a
install:
for dir in . Parser DOM CSS Layout; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibWeb/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibWeb/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common
SUBDIRS = CodeGenerators
include ../../Makefile.subdir