#Compiles the entire program with debug flags then runs it in gdb. If the "test" argument is included, will try and run tests too (in the test folder)
#C++
printf "Running program...\n\n\n"
output=$(dpkg -l | grep libx11-dev)
if [[ -z $output ]]
then
    sudo apt install libx11-dev libpulse-dev mesa-common-dev libpng-dev libstdc++-12-dev
fi
if [ "$1" = "test" ]
then
    printf "Running tests...\n"
    echo "#define TEST_SUITE" > ./test/test.h
    if g++ $(find . -type f -name "*.cpp") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then
        gdb ./${PROJECT_NAME} "$@"
    fi
else
    echo "" > ./test/test.h
    if g++ $(find . -type f -name "*.cpp" -not -path "./test/*") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then
        gdb ./${PROJECT_NAME} "$@"
    fi
fi
printf "\n\n"