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

Lagom: Build LibWeb on Lagom

This commit is contained in:
DexesTTP 2022-04-30 13:09:35 +02:00 committed by Linus Groh
parent b388aa7876
commit 63e841c3ad
2 changed files with 48 additions and 6 deletions

View file

@ -1,8 +1,16 @@
function (generate_css_implementation)
set(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
set(LIBWEB_OUTPUT_FOLDER "")
set(LIBWEB_META_PREFIX "")
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibWeb")
# Serenity build
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
SET(LIBWEB_OUTPUT_FOLDER "")
SET(LIBWEB_META_PREFIX "")
else()
# Lagom Build
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb")
SET(LIBWEB_OUTPUT_FOLDER "LibWeb/")
SET(LIBWEB_META_PREFIX "Lagom")
endif()
invoke_generator(
"Enums.cpp"
@ -84,9 +92,17 @@ endfunction()
function (generate_js_wrappers target)
set(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
set(LIBWEB_OUTPUT_FOLDER "")
set(LIBWEB_META_PREFIX "")
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibWeb")
# Serenity build
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
SET(LIBWEB_OUTPUT_FOLDER "")
SET(LIBWEB_META_PREFIX "")
else()
# Lagom Build
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb")
SET(LIBWEB_OUTPUT_FOLDER "LibWeb/")
SET(LIBWEB_META_PREFIX "Lagom")
endif()
function(libweb_js_wrapper class)
cmake_parse_arguments(PARSE_ARGV 1 LIBWEB_WRAPPER "ITERABLE" "" "")

View file

@ -478,6 +478,32 @@ if (BUILD_LAGOM)
SOURCES ${LIBWASM_SOURCES}
)
# Web
include(libweb_generators)
file(GLOB LIBWEB_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibWeb/*.cpp")
file(GLOB LIBWEB_SUBDIR_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibWeb/*/*.cpp")
file(GLOB LIBWEB_SUBSUBDIR_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibWeb/*/*/*.cpp")
list(REMOVE_ITEM LIBWEB_SUBSUBDIR_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb/CSS/SyntaxHighlighter/SyntaxHighlighter.cpp")
list(REMOVE_ITEM LIBWEB_SUBSUBDIR_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb/HTML/SyntaxHighlighter/SyntaxHighlighter.cpp")
generate_css_implementation()
set(LIBWEB_GENERATED_SOURCES
LibWeb/CSS/DefaultStyleSheetSource.cpp
LibWeb/CSS/Enums.cpp
LibWeb/CSS/MediaFeatureID.cpp
LibWeb/CSS/PropertyID.cpp
LibWeb/CSS/QuirksModeStyleSheetSource.cpp
LibWeb/CSS/TransformFunctions.cpp
LibWeb/CSS/ValueID.cpp
)
lagom_lib(Web web
SOURCES ${LIBWEB_SOURCES} ${LIBWEB_SUBDIR_SOURCES} ${LIBWEB_SUBSUBDIR_SOURCES} ${LIBWEB_GENERATED_SOURCES}
LIBS LagomMarkdown LagomGemini LagomGfx LagomJS LagomTextCodec LagomWasm LagomXML
)
generate_js_wrappers(LagomWeb)
# WebSocket
file(GLOB LIBWEBSOCKET_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibWebSocket/*.cpp")
file(GLOB LIBWEBSOCKET_SUBDIR_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibWebSocket/*/*.cpp")