#  Copyright (C) GridGain Systems. All Rights Reserved.
#  _________        _____ __________________        _____
#  __  ____/___________(_)______  /__  ____/______ ____(_)_______
#  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
#  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
#  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/

set(TARGET gridgain-tuple)

set(SOURCES
    binary_tuple.cpp
    binary_tuple_builder.cpp
    binary_tuple_parser.cpp
)

set(PUBLIC_HEADERS)

set(PRIVATE_HEADERS
    binary_tuple_builder.h
    binary_tuple_common.h
    binary_tuple_parser.h
    binary_tuple.h
    detail/builder_internals.h
)

ignite_check_headers(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${PUBLIC_HEADERS} PRIVATE ${PRIVATE_HEADERS})

ignite_collect_public_headers(tuple PUBLIC_HEADERS)

add_library(${TARGET} STATIC ${SOURCES})

target_link_libraries(${TARGET} gridgain-common)

ignite_test(tuple_test DISCOVER SOURCES tuple_test.cpp LIBS ${TARGET})
ignite_test(binary_tuple_test DISCOVER SOURCES binary_tuple_test.cpp LIBS ${TARGET})

ignite_install_headers(FILES ${PUBLIC_HEADERS} DESTINATION ${IGNITE_INCLUDEDIR}/tuple COMPONENT client)
