66 lines
4.1 KiB
Bash
66 lines
4.1 KiB
Bash
#!/usr/bin/env sh
|
|
set -u
|
|
|
|
presets="${1:-android-arm64 android-x64 android-quest-arm64 android-focus-arm64}"
|
|
shift || true
|
|
targets="${*:-pp_foundation pp_assets pp_paint pp_document pp_renderer_api pp_renderer_gl pp_paint_renderer pp_ui_core pp_platform_api pp_app_core pano_cli pp_foundation_binary_stream_tests pp_foundation_event_tests pp_foundation_log_tests pp_foundation_parse_tests pp_foundation_task_queue_tests pp_foundation_trace_tests pp_assets_brush_package_tests pp_assets_image_format_tests pp_assets_image_metadata_tests pp_assets_image_pixels_tests pp_assets_ppi_header_tests pp_assets_settings_document_tests pp_paint_brush_tests pp_paint_blend_tests pp_paint_stroke_tests pp_paint_stroke_script_tests pp_document_tests pp_document_ppi_import_tests pp_document_ppi_export_tests pp_renderer_api_tests pp_renderer_gl_capabilities_tests pp_renderer_gl_command_plan_tests pp_paint_renderer_compositor_tests pp_platform_api_tests pp_ui_core_color_tests pp_ui_core_layout_value_tests pp_ui_core_layout_xml_tests pp_app_core_about_menu_tests pp_app_core_app_dialog_tests pp_app_core_app_preferences_tests pp_app_core_app_frame_tests pp_app_core_app_thread_tests pp_app_core_app_input_tests pp_app_core_app_shutdown_tests pp_app_core_app_startup_tests pp_app_core_app_status_tests pp_app_core_command_convert_tests pp_app_core_brush_package_export_tests pp_app_core_brush_package_import_tests pp_app_core_brush_ui_tests pp_app_core_canvas_hotkey_tests pp_app_core_canvas_tool_ui_tests pp_app_core_canvas_view_tests pp_app_core_document_animation_tests pp_app_core_document_canvas_tests pp_app_core_document_cloud_tests pp_app_core_document_export_tests pp_app_core_document_import_tests pp_app_core_document_layer_tests pp_app_core_document_platform_io_tests pp_app_core_document_recording_tests pp_app_core_document_resize_tests pp_app_core_document_route_tests pp_app_core_document_sharing_tests pp_app_core_document_session_tests pp_app_core_file_menu_tests pp_app_core_grid_ui_tests pp_app_core_history_ui_tests pp_app_core_main_toolbar_tests pp_app_core_quick_ui_tests pp_app_core_tools_menu_tests}"
|
|
start="$(date +%s)"
|
|
|
|
android_cmake_cmd=""
|
|
case " $presets " in
|
|
*" android-"*)
|
|
# shellcheck disable=SC1091
|
|
. "$(dirname "$0")/android-sdk-env.sh"
|
|
set_android_sdk_toolchain_environment || exit 1
|
|
android_cmake_cmd="$ANDROID_CMAKE_COMMAND"
|
|
;;
|
|
esac
|
|
|
|
overall_exit=0
|
|
results=""
|
|
first_result=1
|
|
|
|
build_args=""
|
|
for target in $targets; do
|
|
build_args="$build_args --target $target"
|
|
done
|
|
|
|
normalized_presets="$(printf '%s' "$presets" | tr ',' ' ')"
|
|
for preset in $normalized_presets; do
|
|
cmake_cmd="cmake"
|
|
case "$preset" in
|
|
android-*)
|
|
cmake_cmd="$android_cmake_cmd"
|
|
;;
|
|
esac
|
|
|
|
"$cmake_cmd" --preset "$preset"
|
|
configure_exit="$?"
|
|
if [ "$configure_exit" -ne 0 ]; then
|
|
[ "$overall_exit" -eq 0 ] && overall_exit="$configure_exit"
|
|
result="$(printf '{"preset":"%s","stage":"configure","exitCode":%s}' "$preset" "$configure_exit")"
|
|
else
|
|
# shellcheck disable=SC2086
|
|
"$cmake_cmd" --build --preset "$preset" $build_args
|
|
build_exit="$?"
|
|
[ "$build_exit" -ne 0 ] && [ "$overall_exit" -eq 0 ] && overall_exit="$build_exit"
|
|
result="$(printf '{"preset":"%s","stage":"build","targets":"%s","exitCode":%s}' "$preset" "$targets" "$build_exit")"
|
|
fi
|
|
|
|
if [ "$first_result" -eq 1 ]; then
|
|
results="$result"
|
|
first_result=0
|
|
else
|
|
results="$results,$result"
|
|
fi
|
|
done
|
|
|
|
end="$(date +%s)"
|
|
elapsed_ms="$(( (end - start) * 1000 ))"
|
|
if [ -n "${ANDROID_NDK_HOME:-}" ] && [ -n "${ANDROID_CMAKE_COMMAND:-}" ]; then
|
|
printf '{"command":"platform-build","exitCode":%s,"elapsedMs":%s,"androidToolchain":{"sdkRoot":"%s","ndkVersion":"%s","ndkPath":"%s","cmakeVersion":"%s","cmakeCommand":"%s"},"results":[%s]}\n' "$overall_exit" "$elapsed_ms" "$ANDROID_SDK_ROOT" "$ANDROID_NDK_VERSION" "$ANDROID_NDK_HOME" "$ANDROID_CMAKE_VERSION" "$ANDROID_CMAKE_COMMAND" "$results"
|
|
else
|
|
printf '{"command":"platform-build","exitCode":%s,"elapsedMs":%s,"results":[%s]}\n' "$overall_exit" "$elapsed_ms" "$results"
|
|
fi
|
|
exit "$overall_exit"
|