# DebugOpts.cmake - Debug configuration options

# Enable debug locking features
option(ENABLE_DEBUG_LOCKS "Enable debug features for locking system" ON)

# Qutex deadlock detection configuration
# Always define the variable in cache so it appears in ccmake
set(DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS 500 CACHE STRING
    "Timeout in milliseconds for deadlock detection in qutex system")

if(ENABLE_DEBUG_LOCKS)
    # Validate the timeout value
    if(NOT DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS OR DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS STREQUAL "")
        message(FATAL_ERROR "DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS must be a positive integer > 0")
    endif()

    # Convert to integer and validate
    math(EXPR timeout_int "${DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS}")
    if(timeout_int LESS_EQUAL 0)
        message(FATAL_ERROR "DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS must be a positive integer > 0")
    endif()
endif()
