aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/Hyperscan.cmake
blob: 3dd7745116c9e96fb94e2916af07d23e745dbbea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
option (ENABLE_HYPERSCAN    "Enable hyperscan for fast regexp processing [default: OFF]" OFF)

if (ENABLE_HYPERSCAN MATCHES "ON")
    if (NOT "${ARCH}" STREQUAL "x86_64")
        MESSAGE(FATAL_ERROR "Hyperscan is supported only on x86_64 architecture")
    endif ()
    ProcessPackage (HYPERSCAN LIBRARY hs INCLUDE hs.h INCLUDE_SUFFIXES
            hs include/hs
            ROOT ${HYPERSCAN_ROOT_DIR} MODULES libhs)
    set (WITH_HYPERSCAN 1)

    # For static linking with Hyperscan we need to link using CXX
    if (ENABLE_HYPERSCAN MATCHES "ON")
        if (${HYPERSCAN_LIBRARY} MATCHES ".*[.]a$" OR STATIC_HYPERSCAN)
            enable_language (CXX)
            set (USE_CXX_LINKER 1)
        endif ()
    endif ()
endif ()