cmake_minimum_required(VERSION 3.5...3.22)

project(cmake_subdir_test LANGUAGES CXX)

# Generated by boostdep --brief redis
set(_DEPENDENCIES
    # Primary dependencies
    asio
    assert
    core
    mp11
    system
    throw_exception

    # Secondary dependencies
    align
    array
    bind
    chrono
    config
    context
    coroutine
    date_time
    exception
    "function"
    regex
    smart_ptr
    type_traits
    utility
    static_assert
    variant2
    winapi
    integer
    move
    mpl
    predef
    ratio
    typeof
    pool
    algorithm
    io
    lexical_cast
    numeric/conversion
    range
    tokenizer
    tuple
    preprocessor
    concept_check
    container_hash
    iterator
    unordered
    describe
    container
    conversion
    detail
    optional
    rational
    intrusive
    function_types
    fusion
    functional
)

# Build our dependencies, so the targets Boost::xxx are defined
set(_BOOST_ROOT ../../../..)
foreach(_DEPENDENCY IN LISTS _DEPENDENCIES)
    add_subdirectory(${_BOOST_ROOT}/libs/${_DEPENDENCY} boostorg/${_DEPENDENCY})
endforeach()

# Build our project
add_subdirectory(${_BOOST_ROOT}/libs/redis boostorg/redis)

add_executable(main main.cpp)
target_link_libraries(main PRIVATE Boost::redis)

include(CTest)
add_test(main main)

add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
