#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} build_dir=$(mktemp -d "${TMPDIR:-/tmp}/cnc_sim_native.XXXXXX") trap 'rm -rf "$build_dir"' EXIT LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs.sh --root-only project_source_list="$build_dir/linuxcnc_bridge_smoke_project_sources.txt" ./list-linuxcnc-bridge-smoke-project-sources.sh > "$project_source_list" mapfile -t project_sources < "$project_source_list" common_flag_output=$( LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-source-common-cxxflags.sh \ --no-ulapi \ --core-include \ --core-src ) mapfile -t common_flags <<<"$common_flag_output" link_flag_output=$(LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-native-linkflags.sh) mapfile -t link_flags <<<"$link_flag_output" "$cxx" "${common_flags[@]}" \ "${project_sources[@]}" \ core/tests/linuxcnc_canon_bridge_smoke.cpp \ "${link_flags[@]}" \ -ltooldata \ -o "$build_dir/linuxcnc_canon_bridge_smoke" "$build_dir/linuxcnc_canon_bridge_smoke" echo "linuxcnc canon bridge smoke passed"