#!/bin/bash

setup_debug_propagation() {
    # 检测并导出调试状态
    [[ $- == *x* ]] && export BASH_XTRACE=1
    [[ $- == *v* ]] && export BASH_VERBOSE=1
    [[ $- == *e* ]] && export BASH_ERREXIT=1
}
setup_debug_propagation

is_query_mode=false
for arg in "$@"; do
    case "$arg" in
        --version|-version|/V|-E|--help*)
            is_query_mode=true
            break
            ;;
    esac
done

if $is_query_mode; then
    cmake $*
    exit 0
fi

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/multi_target.sh"
if check_target_set ; then
    :
else
    multi_target_check_tips
    exit 1
fi

CUCC_CMAKE_ENTRY=${CUCC_CMAKE_ENTRY:-0}
if [ "$CUCC_CMAKE_ENTRY" = "2" ]; then
    #echo "cmake_mock in use. use stub path as CUDA_PATH and mock nvcc"
    ${SCRIPT_DIR}/cmake_mock "$@"
else
    #echo "cmake_assist in use. use the soft link of cuda toolkit path as CUDA_PATH"
    ${SCRIPT_DIR}/cmake_assist "$@"
fi