Meta: Support running ladybird with arguments from serenity.sh

You may now, for example, run:

    ./Meta/serenity.sh run lagom ladybird https://serenityos.org
This commit is contained in:
Timothy Flynn 2023-01-26 06:51:48 -05:00 committed by Tim Flynn
parent 9743445e44
commit ad8183beb4
Notes: sideshowbarker 2024-07-17 06:38:11 +09:00
2 changed files with 6 additions and 5 deletions

View File

@ -116,8 +116,9 @@ if (ANDROID)
endif() endif()
add_custom_target(run${LADYBIRD_CUSTOM_TARGET_SUFFIX} add_custom_target(run${LADYBIRD_CUSTOM_TARGET_SUFFIX}
COMMAND "${CMAKE_COMMAND}" -E env "SERENITY_SOURCE_DIR=${SERENITY_SOURCE_DIR}" "$<TARGET_FILE:ladybird>" COMMAND "${CMAKE_COMMAND}" -E env "SERENITY_SOURCE_DIR=${SERENITY_SOURCE_DIR}" "$<TARGET_FILE:ladybird>" $ENV{LAGOM_ARGS}
USES_TERMINAL USES_TERMINAL
VERBATIM
) )
add_custom_target(debug${LADYBIRD_CUSTOM_TARGET_SUFFIX} add_custom_target(debug${LADYBIRD_CUSTOM_TARGET_SUFFIX}

View File

@ -402,6 +402,7 @@ run_gdb() {
} }
build_and_run_lagom_target() { build_and_run_lagom_target() {
local run_target="${1}"
local lagom_target="${CMD_ARGS[0]}" local lagom_target="${CMD_ARGS[0]}"
local lagom_args local lagom_args
@ -415,7 +416,7 @@ build_and_run_lagom_target() {
# Then existing list separators must be replaced with a semicolon for CMake. # Then existing list separators must be replaced with a semicolon for CMake.
lagom_args=$(IFS=';' ; echo -e "${cmd_args[*]}") lagom_args=$(IFS=';' ; echo -e "${cmd_args[*]}")
LAGOM_TARGET="${lagom_target}" LAGOM_ARGS="${lagom_args[*]}" build_target "run-lagom-target" LAGOM_TARGET="${lagom_target}" LAGOM_ARGS="${lagom_args[*]}" build_target "${run_target}"
} }
if [[ "$CMD" =~ ^(build|install|image|copy-src|run|gdb|test|rebuild|recreate|kaddr2line|addr2line|setup-and-run)$ ]]; then if [[ "$CMD" =~ ^(build|install|image|copy-src|run|gdb|test|rebuild|recreate|kaddr2line|addr2line|setup-and-run)$ ]]; then
@ -447,10 +448,9 @@ if [[ "$CMD" =~ ^(build|install|image|copy-src|run|gdb|test|rebuild|recreate|kad
run) run)
if [ "$TARGET" = "lagom" ]; then if [ "$TARGET" = "lagom" ]; then
if [ "${CMD_ARGS[0]}" = "ladybird" ]; then if [ "${CMD_ARGS[0]}" = "ladybird" ]; then
build_target "${CMD_ARGS[0]}" build_and_run_lagom_target "run-ladybird"
ninja -C "$BUILD_DIR" run-ladybird
else else
build_and_run_lagom_target build_and_run_lagom_target "run-lagom-target"
fi fi
else else
build_target build_target