diff --git a/tdd.sh b/tdd.sh new file mode 100755 index 0000000..fcb4a0c --- /dev/null +++ b/tdd.sh @@ -0,0 +1,88 @@ +#!/bin/sh +# Author: Jake Goodwin +# Date: 2024 +# Filename: tdd.sh + +CROSS_TC_WIN="$(pwd)/i686-w64-mingw32_toolchain.cmake" +CMAKE_VERBOSE="ON" +CROSS_COMPILE=1 + +clear_cmake_cache () { + cd ./build + rm -rf CMakeCache.txt CMakeFiles/ +} + +cross_compile () { + echo "ERROR: Currently no toolchain / target!" +} + +build_release() { + clear_cmake_cache + cmake -DCAM_HANDLER_LIB=ON -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE} ../ + make camera_handler +} + +build_main () { + clear_cmake_cache + + cmake -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE} ../ + make main +} + +run_c_tests () { + cp ./src/camera_handler/testdata.bin /tmp/ + clear_cmake_cache + cmake -DUNIT_TESTING=ON -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE} ../ + make all && ctest +} + +print_menu () { + echo "BUILD MENU:" + echo "1. Run Tests" + echo "2. Build Project" + echo "3. Build for release" + echo "4. cross compile for XXXXXX" + echo "5. Exit" +} + + +menu () { + valid_choice=false + + while [ "$valid_choice" != true ]; do + print_menu + read -p "Enter your choice: " choice + + case $choice in + 1) + echo "You selected Option 1" + valid_choice=true + run_c_tests + ;; + 2) + echo "You selected Option 2" + valid_choice=true + build_main + ;; + 3) + echo "You selected Option 3" + valid_choice=true + build_release + ;; + 4) + echo "You selected Option 4" + valid_choice=true + cross_compile + ;; + 5) + echo "Exiting..." + exit 0 + ;; + *) + echo "Invalid choice. Please select a valid option." + ;; + esac + done +} + +main