Files
wasm-simulator/list-linuxcnc-wasm-safe-project-sources.sh
cnc 40a63c76f7 高效率推进 LinuxCNC 源码对齐流程
说明:集中 LinuxCNC 源码清单与 wasm/native probe 的路径解析,补强 manifest、shim、source-link 检查,并保持 LinuxCNC 源码后端对齐验证流程可复用。

验证:./test-native.sh;./test-linuxcnc-source-link.sh;./test-all-native.sh;wasm source/probe 相关脚本。
2026-05-27 11:14:06 +08:00

46 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
filter=${1:-}
awk '
/set\(linuxcnc_rs274_wasm_safe_probe_project_sources/ {
in_list = 1
next
}
in_list && /^[[:space:]]*\)/ {
exit
}
in_list {
line = $0
sub(/^[[:space:]]*/, "", line)
sub(/[[:space:]]*$/, "", line)
if (line == "") {
next
}
sub(/^\$\{CMAKE_CURRENT_SOURCE_DIR\}\//, "core/", line)
print line
}
' core/CMakeLists.txt | while IFS= read -r source; do
if [[ ! -f "$source" ]]; then
echo "missing wasm-safe project source: $source" >&2
exit 1
fi
if [[ -n "$filter" && "$(basename "$source")" != "$filter" ]]; then
continue
fi
printf '%s\n' "$source"
done | {
found=0
while IFS= read -r source; do
found=1
printf '%s\n' "$source"
done
if [[ -n "$filter" && "$found" -eq 0 ]]; then
echo "missing wasm-safe project source in CMake list: $filter" >&2
exit 1
fi
}