| # |
| # 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) |
| |
| 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 |