#!/bin/bash -e SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}") SCRIPT_PATH=$(realpath "$SCRIPT_PATH") SRC_PATH="${SCRIPT_PATH}/.." FORMAT_ARG="--check" REST_ARGS=$@ if [ $# -ne 0 ]; then if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then echo "usage: $0 [options] [file, file, ...]" echo "\t--check.-c ... run format check only, no files changed (default)" echo "\t--format,-f ... format files in place" echo "\t--help,-h ... print this help" exit 1 fi if [ "$1" = "--check" ] || [ "$1" = "-c" ]; then FORMAT_ARG="--check" REST_ARGS="${@:2}" fi if [ "$1" = "--format" ] || [ "$1" = "-f" ]; then FORMAT_ARG="-i" REST_ARGS="${@:2}" fi fi if [ ! -n "$REST_ARGS" ]; then CMAKE_FILES=$(find ${SRC_PATH} -name "*.cmake" -o -name "CMakeLists.txt") CMAKE_CI_FILES=$(find ${SRC_PATH}/ci -name "*.txt") fi for FILE in $CMAKE_FILES $CMAKE_CI_FILES $REST_ARGS; do echo "processing file $FILE..." cmake-format -c "$SCRIPT_PATH/cmake-format.yml" $FORMAT_ARG $FILE done