1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 06:57:45 +00:00

Meta+Userland: Allow generating C++ initializer code from GML

This does the exact same thing as the runtime initializer,
except it is faster and can catch some errors much earlier.

The code generator includes these important features:
- Automatic include generation where necessary
- Special-casing for TabWidget and ScrollableContainerWidget
- No use of DeprecatedString where possible
This commit is contained in:
kleines Filmröllchen 2023-08-11 15:16:51 +02:00 committed by Jelle Raaijmakers
parent 1e67435ff5
commit d1645efde9
6 changed files with 347 additions and 0 deletions

View file

@ -370,6 +370,17 @@ install(TARGETS LibTimeZone EXPORT LagomTargets)
# This is used by the BindingsGenerator so needs to always be built.
add_serenity_subdirectory(Userland/Libraries/LibIDL)
# LibGUI - only GML
# This is used by the GML compiler and therefore always needed.
set(LIBGUI_GML_SOURCES
GML/Lexer.cpp
GML/Parser.cpp
)
list(TRANSFORM LIBGUI_GML_SOURCES PREPEND "${SERENITY_PROJECT_ROOT}/Userland/Libraries/LibGUI/")
lagom_lib(LibGUI_GML gui_gml
SOURCES ${LIBGUI_GML_SOURCES}
)
# Manually install AK headers
install(
DIRECTORY "${SERENITY_PROJECT_ROOT}/AK"