Files
srs/trunk/scripts/clang_format.sh
2025-10-11 08:22:34 -04:00

29 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# work_dir is the root directory of the project
work_dir=$(cd -P $(dirname $0) && cd ../.. && pwd) && cd $work_dir && echo "Run clang-format in ${work_dir}"
# Check if clang-format is installed
if ! command -v clang-format &> /dev/null; then
echo "clang-format could not be found, please install it first."
exit 1
fi
# Check if the trunk directory exists
if [ ! -d "trunk" ]; then
echo "trunk directory does not exist, please run this script from the project root."
exit 1
fi
# Find all .cpp, .hpp, and .h files in the trunk directory, excluding 3rdparty
# and format them using clang-format with the style defined in .clang-format file
if [ ! -f ".clang-format" ]; then
echo ".clang-format file does not exist, please create one in the project root."
exit 1
fi
echo "Formatting source files in trunk directory..."
# Exclude the 3rdparty directory and format all .cpp, and .hpp
# Use -i to edit files in place
# Use xargs -P N to run N clang-format processes in parallel
find trunk/src -name "*.*pp" | xargs -P 16 -n 1 clang-format -style=file -i