if (HAVE_SSSE3)
    option (ENABLE_HYPERSCAN "Enable hyperscan" ${ENABLE_LIBRARIES})
endif ()

if (ENABLE_HYPERSCAN)

option (USE_INTERNAL_HYPERSCAN_LIBRARY "Set to FALSE to use system hyperscan instead of the bundled" ${NOT_UNBUNDLED})

if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/hyperscan/CMakeLists.txt")
    if (USE_INTERNAL_HYPERSCAN_LIBRARY)
        message (WARNING "submodule contrib/hyperscan is missing. to fix try run: \n git submodule update --init --recursive")
    endif ()
   set (MISSING_INTERNAL_HYPERSCAN_LIBRARY 1)
   set (USE_INTERNAL_HYPERSCAN_LIBRARY 0)
endif ()

if (NOT USE_INTERNAL_HYPERSCAN_LIBRARY)
    find_library (HYPERSCAN_LIBRARY hs)
    find_path (HYPERSCAN_INCLUDE_DIR NAMES hs/hs.h hs.h PATHS ${HYPERSCAN_INCLUDE_PATHS})
endif ()

if (HYPERSCAN_LIBRARY AND HYPERSCAN_INCLUDE_DIR)
    set (USE_HYPERSCAN 1)
elseif (NOT MISSING_INTERNAL_HYPERSCAN_LIBRARY)
    set (HYPERSCAN_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/hyperscan/src)
    set (HYPERSCAN_LIBRARY hs)
    set (USE_HYPERSCAN 1)
    set (USE_INTERNAL_HYPERSCAN_LIBRARY 1)
endif()

message (STATUS "Using hyperscan=${USE_HYPERSCAN}: ${HYPERSCAN_INCLUDE_DIR} : ${HYPERSCAN_LIBRARY}")

endif ()
