#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" cxx=${CXX:-g++} build_dir=$(mktemp -d "${TMPDIR:-/tmp}/cnc_sim_native.XXXXXX") trap 'rm -rf "$build_dir"' EXIT core_source_list="$build_dir/cnc_sim_core_sources.txt" ./list-cnc-sim-core-sources.sh > "$core_source_list" mapfile -t core_sources < "$core_source_list" "$cxx" -std=c++17 -I core/include -I core/src \ "${core_sources[@]}" \ core/tests/canon_event_sink_smoke.cpp \ -o "$build_dir/canon_event_sink_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ "${core_sources[@]}" \ core/tests/rtcp_kinematics_smoke.cpp \ -o "$build_dir/rtcp_kinematics_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ core/tests/linuxcnc_gees_table_smoke.cpp \ -o "$build_dir/linuxcnc_gees_table_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ "${core_sources[@]}" \ core/tests/simulator_gcode_controls_smoke.cpp \ -o "$build_dir/simulator_gcode_controls_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ "${core_sources[@]}" \ core/tests/cnc_sim_api_smoke.cpp \ -o "$build_dir/cnc_sim_api_smoke" "$cxx" -std=c++17 -I core/include -I core/src \ "${core_sources[@]}" \ core/tools/cnc_sim_dump.cpp \ -o "$build_dir/cnc_sim_dump" "$build_dir/canon_event_sink_smoke" "$build_dir/rtcp_kinematics_smoke" "$build_dir/linuxcnc_gees_table_smoke" "$build_dir/simulator_gcode_controls_smoke" "$build_dir/cnc_sim_api_smoke" basic_mill_json="$build_dir/cnc_sim_basic_mill.json" incremental_arc_json="$build_dir/cnc_sim_incremental_and_r_arc.json" subprogram_m98_json="$build_dir/cnc_sim_smoke_subprogram_m98.json" oword_subprogram_json="$build_dir/cnc_sim_smoke_oword_subprogram.json" "$build_dir/cnc_sim_dump" tests/gcode/basic_mill.ngc >"$basic_mill_json" "$build_dir/cnc_sim_dump" tests/gcode/incremental_and_r_arc.ngc >"$incremental_arc_json" "$build_dir/cnc_sim_dump" tests/gcode/smoke_subprogram_m98.ngc >"$subprogram_m98_json" "$build_dir/cnc_sim_dump" tests/gcode/smoke_oword_subprogram.ngc >"$oword_subprogram_json" echo "native tests passed" echo "dumped $basic_mill_json" echo "dumped $incremental_arc_json" echo "dumped $subprogram_m98_json" echo "dumped $oword_subprogram_json"