1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 13:35:07 +00:00
Commit graph

13 commits

Author SHA1 Message Date
Sam Atkins
5f3498d50f LibWeb: Add code generator for CSS transform functions
This first step just generates the TransformFunction enum, but more will
follow.
2022-04-18 14:16:28 +02:00
Sam Atkins
a97944e483 LibWeb: Add a new code generator for CSS enums
Alias values are represented by "alias-name=real-name".

We have a lot of repetitive code for converting between ValueID and
property-specific enums. Let's see if we can generate it. :^)

This first step just produces the enums, from a JSON file. The values in
there are a duplication of what's in Properties.json, but eventually
those will go away.
2022-04-14 14:54:06 +02:00
Sam Atkins
b07659d00c Meta+LibWeb: Port PropertyID.h/cpp generators to invoke_generator() 2022-04-02 09:18:07 -04:00
Sam Atkins
fc81d6c9f3 Meta+LibWeb: Port ValueID.h/cpp generators to invoke_generator() 2022-04-02 09:18:07 -04:00
Sam Atkins
cb406e79f4 Meta+LibWeb: Port MediaFeatureID.h/cpp generators to invoke_generator() 2022-04-02 09:18:07 -04:00
Sam Atkins
eb6e4e6775 Meta: Port Generate_CSS_PropertyID_cpp to LibMain/Core::Stream 2022-03-10 09:49:13 -05:00
Sam Atkins
a850465a4b Meta: Port Generate_CSS_PropertyID_h to LibMain/Core::Stream 2022-03-10 09:49:13 -05:00
Sam Atkins
e80038d938 Meta: Port Generate_CSS_ValueID_cpp to LibMain/Core::Stream 2022-03-10 09:49:13 -05:00
Sam Atkins
dd238df42d Meta: Port Generate_CSS_ValueID_h to LibMain/Core::Stream 2022-03-10 09:49:13 -05:00
Sam Atkins
b7bb86462b Meta: Generate CSS::MediaFeatureID enum
This works largely the same as the PropertyID and ValueID generators,
but using LibMain, Core::Stream, and TRY().

Rather than have a MediaFeatureID::Invalid, I decided to return an
Optional. We'll see if that turns out better or not. :^)
2022-03-09 23:06:30 +01:00
Ali Mohammad Pur
e9c76d339b Meta: Split and refactor the WrapperGenerator a bit
The single 4000-line WrapperGenerator.cpp file was proving to be a pain
to hack, and was filled with spaghetti, split it into a bunch of files
to lessen the impact of the spaghetti.
Also refactor the whole parser to use a class instead of a giant
function with a million lambdas.
2022-02-17 19:55:27 +01:00
Andrew Kaster
a6d83e02d2 Meta: Define and use lagom_tool() CMake helper function for all Tools
We'll use this to prevent repeating common tool dependencies. They all
depend on LibCore and AK only. We also want to encapsulate common
install rules for them.
2021-09-15 19:04:52 +04:30
Andrew Kaster
63956b36d0 Everywhere: Move all host tools into the Lagom/Tools subdirectory
This allows us to remove all the add_subdirectory calls from the top
level CMakeLists.txt that referred to targets linking LagomCore.

Segregating the host tools and Serenity targets helps us get to a place
where the main Serenity build can simply use a CMake toolchain file
rather than swapping all the compiler/sysroot variables after building
host libraries and tools.
2021-08-28 08:44:17 +01:00
Renamed from Userland/Libraries/LibWeb/CodeGenerators/CMakeLists.txt (Browse further)