#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#


set(TEST_PREFIX "c_glib")

# include_directories(SYSTEM ${Boost_INCLUDE_DIRS})

#Make sure gen-cpp and gen-c_glib files can be included
include_directories("${CMAKE_CURRENT_BINARY_DIR}")

# Create the thrift C test library
set(testgenc_SOURCES
    gen-c_glib/t_test_debug_proto_test_types.c
    gen-c_glib/t_test_enum_test_types.c
    gen-c_glib/t_test_enum_test_service.c
    gen-c_glib/t_test_empty_service.c
    gen-c_glib/t_test_inherited.c
    gen-c_glib/t_test_optional_required_test_types.c
    gen-c_glib/t_test_reverse_order_service.c
    gen-c_glib/t_test_second_service.c
    gen-c_glib/t_test_service_for_exception_with_a_map.c
    gen-c_glib/t_test_srv.c
    gen-c_glib/t_test_thrift_test.c
    gen-c_glib/t_test_thrift_test_types.c
    gen-c_glib/t_test_debug_proto_test_types.h
    gen-c_glib/t_test_enum_test_types.h
    gen-c_glib/t_test_enum_test_service.h
    gen-c_glib/t_test_empty_service.h
    gen-c_glib/t_test_inherited.h
    gen-c_glib/t_test_optional_required_test_types.h
    gen-c_glib/t_test_reverse_order_service.h
    gen-c_glib/t_test_second_service.h
    gen-c_glib/t_test_service_for_exception_with_a_map.h
    gen-c_glib/t_test_srv.h
    gen-c_glib/t_test_thrift_test.h
    gen-c_glib/t_test_thrift_test_types.h
)

add_library(testgenc STATIC ${testgenc_SOURCES})
LINK_AGAINST_THRIFT_LIBRARY(testgenc thrift_c_glib)


add_executable(testserialization testserialization.c)
target_link_libraries(testserialization testgenc)
LINK_AGAINST_THRIFT_LIBRARY(testserialization thrift_c_glib)
add_test(NAME testserialization COMMAND testserialization)

add_executable(testapplicationexception testapplicationexception.c)
LINK_AGAINST_THRIFT_LIBRARY(testapplicationexception thrift_c_glib)
add_test(NAME testapplicationexception COMMAND testapplicationexception)

add_executable(testtransportsocket testtransportsocket.c)
LINK_AGAINST_THRIFT_LIBRARY(testtransportsocket thrift_c_glib)
add_test(NAME testtransportsocket COMMAND testtransportsocket)

add_executable(testbinaryprotocol testbinaryprotocol.c)
LINK_AGAINST_THRIFT_LIBRARY(testbinaryprotocol thrift_c_glib)
add_test(NAME testbinaryprotocol COMMAND testbinaryprotocol)

add_executable(testcompactprotocol testcompactprotocol.c)
LINK_AGAINST_THRIFT_LIBRARY(testcompactprotocol thrift_c_glib)
add_test(NAME testcompactprotocol COMMAND testcompactprotocol)

add_executable(testbufferedtransport testbufferedtransport.c)
LINK_AGAINST_THRIFT_LIBRARY(testbufferedtransport thrift_c_glib)
add_test(NAME testbufferedtransport COMMAND testbufferedtransport)

add_executable(testframedtransport testframedtransport.c)
LINK_AGAINST_THRIFT_LIBRARY(testframedtransport thrift_c_glib)
add_test(NAME testframedtransport COMMAND testframedtransport)

add_executable(testfdtransport testfdtransport.c)
LINK_AGAINST_THRIFT_LIBRARY(testfdtransport thrift_c_glib)
add_test(NAME testfdtransport COMMAND testfdtransport)

add_executable(testmemorybuffer testmemorybuffer.c)
LINK_AGAINST_THRIFT_LIBRARY(testmemorybuffer thrift_c_glib)
add_test(NAME testmemorybuffer COMMAND testmemorybuffer)

add_executable(testsimpleserver testsimpleserver.c)
LINK_AGAINST_THRIFT_LIBRARY(testsimpleserver thrift_c_glib)
add_test(NAME testsimpleserver COMMAND testsimpleserver)

add_executable(testdebugproto testdebugproto.c)
target_link_libraries(testdebugproto testgenc)
add_test(NAME testdebugproto COMMAND testdebugproto)

add_executable(testoptionalrequired testoptionalrequired.c)
target_link_libraries(testoptionalrequired testgenc)
add_test(NAME testoptionalrequired COMMAND testoptionalrequired)

add_executable(testthriftbinaryreadcheck testthriftbinaryreadcheck.c)
target_link_libraries(testthriftbinaryreadcheck testgenc)
add_test(NAME testthriftbinaryreadcheck COMMAND testthriftbinaryreadcheck)

add_executable(testthriftbufferedreadcheck testthriftbufferedreadcheck.c)
target_link_libraries(testthriftbufferedreadcheck testgenc)
add_test(NAME testthriftbufferedreadcheck COMMAND testthriftbufferedreadcheck)

add_executable(testthriftcompactreadcheck testthriftcompactreadcheck.c)
target_link_libraries(testthriftcompactreadcheck testgenc)
add_test(NAME testthriftcompactreadcheck COMMAND testthriftcompactreadcheck)

add_executable(testthriftframedreadcheck testthriftframedreadcheck.c)
target_link_libraries(testthriftframedreadcheck testgenc)
add_test(NAME testthriftframedreadcheck COMMAND testthriftframedreadcheck)

add_executable(testthriftfdreadcheck testthriftfdreadcheck.c)
target_link_libraries(testthriftfdreadcheck testgenc)
add_test(NAME testthriftfdreadcheck COMMAND testthriftfdreadcheck)

add_executable(testthriftmemorybufferreadcheck testthriftmemorybufferreadcheck.c)
target_link_libraries(testthriftmemorybufferreadcheck testgenc)
add_test(NAME testthriftmemorybufferreadcheck COMMAND testthriftmemorybufferreadcheck)

include_directories("${PROJECT_SOURCE_DIR}/test/c_glib/src" "${CMAKE_CURRENT_BINARY_DIR}/gen-c_glib")

add_executable(testthrifttest testthrifttest.c
    ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_test_handler.c
    ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_test_handler.h
    ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_second_service_handler.c
    ${PROJECT_SOURCE_DIR}/test/c_glib/src/thrift_second_service_handler.h
    gen-c_glib/t_test_thrift_test_types.h)
target_link_libraries(testthrifttest testgenc)
add_test(NAME testthrifttest COMMAND testthrifttest)


if(BUILD_CPP)

    include_directories("${PROJECT_SOURCE_DIR}/lib/cpp/src")

    # Create the thrift C++ test library
    set(testgenc_cpp_SOURCES
        gen-cpp/ThriftTest.cpp
        gen-cpp/ThriftTest_constants.cpp
        gen-cpp/ThriftTest_types.cpp
        gen-cpp/ThriftTest.h
        gen-cpp/ThriftTest_constants.h
        gen-cpp/ThriftTest_types.h
    )

    add_library(testgenc_cpp STATIC ${testgenc_cpp_SOURCES})
    LINK_AGAINST_THRIFT_LIBRARY(testgenc_cpp thrift)

    #HACK: testthrifttestclient.cpp includes ThriftTest.h without gen-*/ prefixes
    # so we include it here
    include_directories("${CMAKE_CURRENT_BINARY_DIR}/gen-cpp" "${CMAKE_CURRENT_BINARY_DIR}/gen-c_glib")

    add_executable(testthrifttestclient testthrifttestclient.cpp)
    target_link_libraries(testthrifttestclient testgenc testgenc_cpp ${ZLIB_LIBRARIES})
    add_test(NAME testthrifttestclient COMMAND testthrifttestclient)

endif(BUILD_CPP)

#
# Common thrift code generation rules
#

add_custom_command(OUTPUT
    gen-c_glib/t_test_debug_proto_test_types.c
    gen-c_glib/t_test_debug_proto_test_types.h
    gen-c_glib/t_test_empty_service.c
    gen-c_glib/t_test_empty_service.h
    gen-c_glib/t_test_inherited.c
    gen-c_glib/t_test_inherited.h
    gen-c_glib/t_test_reverse_order_service.c
    gen-c_glib/t_test_reverse_order_service.h
    gen-c_glib/t_test_service_for_exception_with_a_map.c
    gen-c_glib/t_test_service_for_exception_with_a_map.h
    gen-c_glib/t_test_srv.c
    gen-c_glib/t_test_srv.h
    COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/DebugProtoTest.thrift
)

add_custom_command(OUTPUT
    gen-c_glib/t_test_enum_test_types.c
    gen-c_glib/t_test_enum_test_types.h
    gen-c_glib/t_test_enum_test_service.c
    gen-c_glib/t_test_enum_test_service.h
    COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/EnumTest.thrift
)

add_custom_command(OUTPUT
    gen-c_glib/t_test_optional_required_test_types.c
    gen-c_glib/t_test_optional_required_test_types.h
    COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/OptionalRequiredTest.thrift
)

add_custom_command(OUTPUT
    gen-c_glib/t_test_second_service.c
    gen-c_glib/t_test_thrift_test.c
    gen-c_glib/t_test_thrift_test_types.c
    gen-c_glib/t_test_second_service.h
    gen-c_glib/t_test_thrift_test.h
    gen-c_glib/t_test_thrift_test_types.h
    COMMAND ${THRIFT_COMPILER} --gen c_glib ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift
)

add_custom_command(OUTPUT
    gen-cpp/ThriftTest.cpp
    gen-cpp/ThriftTest_constants.cpp
    gen-cpp/ThriftTest_types.cpp
    gen-cpp/ThriftTest.h
    gen-cpp/ThriftTest_constants.h
    gen-cpp/ThriftTest_types.h
    COMMAND ${THRIFT_COMPILER} --gen cpp ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift
)

# TODO: Add memory checks using ctest_memcheck or similar
