参考所有分组,完成尽量多的内容:收紧 CMake 源列表参数守卫,结论测试通过

This commit is contained in:
cnc
2026-06-03 18:46:10 +08:00
parent 1ce460d1d5
commit bc7b947d14
3 changed files with 58 additions and 0 deletions

View File

@@ -14,6 +14,14 @@ fi
set_name=$1
relative_prefix=${2:-}
if ! [[ "$set_name" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
echo "CMake source set name must be a CMake variable name: $set_name" >&2
exit 1
fi
if [[ "$relative_prefix" = /* || "$relative_prefix" == .. || "$relative_prefix" == ../* || "$relative_prefix" == */.. || "$relative_prefix" == */../* ]]; then
echo "CMake source relative prefix must stay project-relative: $relative_prefix" >&2
exit 1
fi
awk -v set_name="$set_name" -v relative_prefix="$relative_prefix" '
$0 ~ "^[[:space:]]*set\\(" set_name "([[:space:]]|$)" {