set(HEADERS libcockatrice/rng/rng_abstract.h libcockatrice/rng/rng_sfmt.h libcockatrice/rng/sfmt/SFMT.h)

add_library(
  libcockatrice_rng STATIC ${HEADERS} libcockatrice/rng/rng_abstract.cpp libcockatrice/rng/rng_sfmt.cpp
                           libcockatrice/rng/sfmt/SFMT.c
)

# SFMT is vendored and its own headers trip UBSan's alignment and vptr checks.
cockatrice_disable_sanitizers_for(libcockatrice/rng/sfmt/SFMT.c)
cockatrice_disable_coverage_for(libcockatrice/rng/sfmt/SFMT.c)

target_include_directories(libcockatrice_rng PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

target_link_libraries(libcockatrice_rng PUBLIC ${QT_CORE_MODULE})
