LibWeb: Add start of HTML Tokenizer in Swift

Currently it's just a Token class.
This commit is contained in:
Andrew Kaster
2024-08-17 20:16:16 -06:00
committed by Andrew Kaster
parent d0bc266c55
commit fb074f9d0c
5 changed files with 169 additions and 1 deletions

View File

@@ -794,4 +794,31 @@ if (ENABLE_SWIFT)
list(APPEND LIBWEB_ALL_GENERATED_HEADERS ${generated_headers})
generate_clang_module_map(LibWeb GENERATED_FILES ${LIBWEB_ALL_GENERATED_HEADERS})
target_compile_features(LibWeb PUBLIC cxx_std_23)
target_sources(LibWeb PRIVATE
HTML/Parser/HTMLToken.swift
)
target_compile_definitions(LibWeb PRIVATE LIBWEB_USE_SWIFT)
set_target_properties(LibWeb PROPERTIES Swift_MODULE_NAME "SwiftLibWeb")
# FIXME: These should be pulled automatically from interface compile options for the target
set(VFS_OVERLAY_OPTIONS
-Xcc -ivfsoverlay${CMAKE_CURRENT_BINARY_DIR}/vfs_overlay.yaml
-Xcc -ivfsoverlay${CMAKE_CURRENT_BINARY_DIR}/../LibGfx/vfs_overlay.yaml
-Xcc -ivfsoverlay${Lagom_BINARY_DIR}/AK/vfs_overlay.yaml
)
get_target_property(LIBWEB_NATIVE_DIRS LibWeb INCLUDE_DIRECTORIES)
_swift_generate_cxx_header(LibWeb "LibWeb-Swift.h"
SEARCH_PATHS ${LIBWEB_NATIVE_DIRS}
COMPILE_OPTIONS ${VFS_OVERLAY_OPTIONS}
)
# FIXME: https://gitlab.kitware.com/cmake/cmake/-/issues/26175
if (APPLE)
add_custom_command(TARGET LibWeb POST_BUILD
COMMAND install_name_tool -id @rpath/liblagom-web.0.dylib "$<TARGET_FILE:LibWeb>"
)
endif()
endif()