add_object_library(
  regex_expr_pool
  SRCS
    regex_expr_pool.cpp
  HDRS
    regex_expr_pool.h
    regex_ast.h
  DEPENDS
    libc.hdr.regex_macros
    libc.hdr.stdint_proxy
    libc.src.__support.alloc_checker
    libc.src.__support.CPP.array
    libc.src.__support.CPP.new
    libc.src.__support.CPP.span
    libc.src.__support.CPP.utility
    libc.src.__support.error_or
    libc.src.__support.hash
    libc.src.__support.libc_assert
    libc.src.__support.macros.config
    libc.src.string.memory_utils.inline_memset
)

add_header_library(
  regex_internal
  HDRS
    regex_internal.h
  DEPENDS
    .regex_expr_pool
    libc.src.__support.macros.config
    libc.src.__support.threads.spin_lock
)

add_object_library(
  regex_matcher
  SRCS
    regex_matcher.cpp
  HDRS
    regex_matcher.h
  DEPENDS
    .regex_expr_pool
    libc.src.__support.CPP.string_view
    libc.src.__support.error_or
)
