Files
edgetx/tools/update-companion-translations.sh
T
2026-08-03 16:37:20 +08:00

83 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Stops on first error, echo on
set -e
set -x
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
. "$SCRIPT_DIR/build-common.sh"
# Determine number of CPU cores for parallel builds
if [ -f /usr/bin/nproc ]; then
num_cpus=$(nproc)
elif [ "$(uname)" = "Darwin" ]; then
num_cpus=$(sysctl -n hw.ncpu)
elif [ -f /usr/sbin/sysctl ]; then
num_cpus=$(sysctl -n hw.logicalcpu)
else
num_cpus=2
fi
: "${JOBS:=$num_cpus}"
# Parse command line arguments
while [ $# -gt 0 ]
do
case "$1" in
--jobs=*)
JOBS="${1#*=}";;
-j*)
JOBS="${1#*j}";;
-h|--help)
echo "Usage: $0 [-j<jobs>|--jobs=<jobs>]"
echo "Build companion translations using tx16s target configuration"
echo ""
echo "Options:"
echo " -j<jobs>, --jobs=<jobs> Number of parallel jobs (default: $num_cpus)"
echo " -h, --help Show this help message"
exit 0;;
-*)
echo >&2 "usage: $0 [-j<jobs>|--jobs=<jobs>]"
echo >&2 "Use -h or --help for more information"
exit 1;;
*)
echo >&2 "usage: $0 [-j<jobs>|--jobs=<jobs>]"
echo >&2 "Use -h or --help for more information"
exit 1;;
esac
shift
done
# Project root directory (one level up from tools)
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
# Set common build options
: "${BUILD_TYPE:=Release}"
: "${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev"}"
BUILD_OPTIONS="${COMMON_OPTIONS} "
echo "Building companion translations with tx16s target configuration..."
# Get tx16s target build options from build-common.sh
if ! get_target_build_options "tx16s"; then
echo "Error: Failed to find a match for target 'tx16s'"
exit 1
fi
# Ensure we're in the project root
cd "${PROJECT_ROOT}"
# Create and enter build directory
rm -rf build
mkdir build
cd build
echo "Configuring build with options: ${BUILD_OPTIONS}"
cmake ${BUILD_OPTIONS} "${PROJECT_ROOT}"
echo "Configuring native build..."
cmake --build . --target native-configure
echo "Building companion translations with ${JOBS} parallel jobs..."
make -j"${JOBS}" -C native companion_translations