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

LibWeb: Use embed_as_string_view() for style sheet source generation

This commit is contained in:
Sam Atkins 2023-08-23 21:17:49 +01:00 committed by Sam Atkins
parent af4642c826
commit abba6f7b54
2 changed files with 18 additions and 44 deletions

View file

@ -72,44 +72,29 @@ function (generate_css_implementation)
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/Identifiers.json" arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/Identifiers.json"
) )
add_custom_command( embed_as_string_view(
OUTPUT CSS/DefaultStyleSheetSource.cpp "DefaultStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E make_directory CSS "${LIBWEB_INPUT_FOLDER}/CSS/Default.css"
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" default_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/Default.css" > CSS/DefaultStyleSheetSource.cpp.tmp "CSS/DefaultStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/DefaultStyleSheetSource.cpp.tmp CSS/DefaultStyleSheetSource.cpp "default_stylesheet_source"
COMMAND "${CMAKE_COMMAND}" -E remove CSS/DefaultStyleSheetSource.cpp.tmp NAMESPACE "Web::CSS"
VERBATIM
DEPENDS "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh"
MAIN_DEPENDENCY "${LIBWEB_INPUT_FOLDER}/CSS/Default.css"
) )
add_custom_target(generate_DefaultStyleSheetSource.cpp DEPENDS CSS/DefaultStyleSheetSource.cpp)
add_dependencies(all_generated generate_DefaultStyleSheetSource.cpp)
add_custom_command( embed_as_string_view(
OUTPUT CSS/QuirksModeStyleSheetSource.cpp "QuirksModeStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E make_directory CSS "${LIBWEB_INPUT_FOLDER}/CSS/QuirksMode.css"
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" quirks_mode_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/QuirksMode.css" > CSS/QuirksModeStyleSheetSource.cpp.tmp "CSS/QuirksModeStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/QuirksModeStyleSheetSource.cpp.tmp CSS/QuirksModeStyleSheetSource.cpp "quirks_mode_stylesheet_source"
COMMAND "${CMAKE_COMMAND}" -E remove CSS/QuirksModeStyleSheetSource.cpp.tmp NAMESPACE "Web::CSS"
VERBATIM
DEPENDS "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh"
MAIN_DEPENDENCY "${LIBWEB_INPUT_FOLDER}/CSS/Default.css"
) )
add_custom_target(generate_QuirksModeStyleSheetSource.cpp DEPENDS CSS/QuirksModeStyleSheetSource.cpp)
add_dependencies(all_generated generate_QuirksModeStyleSheetSource.cpp)
add_custom_command( embed_as_string_view(
OUTPUT MathML/MathMLStyleSheetSource.cpp "MathMLStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E make_directory CSS "${LIBWEB_INPUT_FOLDER}/MathML/Default.css"
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" mathml_stylesheet_source "${LIBWEB_INPUT_FOLDER}/MathML/Default.css" > MathML/MathMLStyleSheetSource.cpp.tmp "MathML/MathMLStyleSheetSource.cpp"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different MathML/MathMLStyleSheetSource.cpp.tmp MathML/MathMLStyleSheetSource.cpp "mathml_stylesheet_source"
COMMAND "${CMAKE_COMMAND}" -E remove MathML/MathMLStyleSheetSource.cpp.tmp NAMESPACE "Web::CSS"
VERBATIM
DEPENDS "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh"
MAIN_DEPENDENCY "${LIBWEB_INPUT_FOLDER}/MathML/Default.css"
) )
add_custom_target(generate_MathMLStyleSheetSource.cpp DEPENDS MathML/MathMLStyleSheetSource.cpp)
add_dependencies(all_generated generate_MathMLStyleSheetSource.cpp)
set(CSS_GENERATED_TO_INSTALL set(CSS_GENERATED_TO_INSTALL
"CSS/EasingFunctions.h" "CSS/EasingFunctions.h"

View file

@ -1,11 +0,0 @@
#!/bin/sh
echo "#include <AK/StringView.h>"
echo "namespace Web::CSS {"
echo "extern StringView $1;"
echo "StringView $1 = \"\\"
grep -v '^ *#' < "$2" | while IFS= read -r line; do
echo "$line""\\" | sed 's/"/\\\"/g'
done
echo "\"sv;"
echo "}"