1 # Licensed to the Apache Software Foundation (ASF) under one
2 # or more contributor license agreements. See the NOTICE file
3 # distributed with this work for additional information
4 # regarding copyright ownership. The ASF licenses this file
5 # to you under the Apache License, Version 2.0 (the
6 # "License"); you may not use this file except in compliance
7 # with the License. You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing,
12 # software distributed under the License is distributed on an
13 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 # KIND, either express or implied. See the License for the
15 # specific language governing permissions and limitations
19 # Messaging and interprocess communication
21 add_custom_target(arrow_ipc)
23 function(ADD_ARROW_IPC_TEST REL_TEST_NAME)
25 set(one_value_args PREFIX)
26 set(multi_value_args LABELS)
27 cmake_parse_arguments(ARG
34 set(PREFIX ${ARG_PREFIX})
36 set(PREFIX "arrow-ipc")
39 add_arrow_test(${REL_TEST_NAME}
41 ${ARROW_DATASET_TEST_LINK_LIBS}
44 ${ARG_UNPARSED_ARGUMENTS})
47 add_arrow_test(feather_test)
48 add_arrow_ipc_test(json_simple_test)
49 add_arrow_ipc_test(read_write_test)
50 add_arrow_ipc_test(tensor_test)
53 arrow_install_all_headers("arrow/ipc")
55 if(ARROW_BUILD_STATIC)
56 set(ARROW_UTIL_LIB arrow_static)
58 set(ARROW_UTIL_LIB arrow_shared)
61 if(ARROW_BUILD_UTILITIES OR ARROW_BUILD_INTEGRATION)
62 add_executable(arrow-file-to-stream file_to_stream.cc)
63 target_link_libraries(arrow-file-to-stream ${ARROW_UTIL_LIB})
64 add_executable(arrow-stream-to-file stream_to_file.cc)
65 target_link_libraries(arrow-stream-to-file ${ARROW_UTIL_LIB})
67 if(ARROW_BUILD_INTEGRATION)
68 add_dependencies(arrow-integration arrow-file-to-stream)
69 add_dependencies(arrow-integration arrow-stream-to-file)
73 add_arrow_benchmark(read_write_benchmark PREFIX "arrow-ipc")
76 add_executable(arrow-ipc-generate-fuzz-corpus generate_fuzz_corpus.cc)
77 target_link_libraries(arrow-ipc-generate-fuzz-corpus ${ARROW_UTIL_LIB}
78 ${ARROW_TEST_LINK_LIBS})
80 add_executable(arrow-ipc-generate-tensor-fuzz-corpus generate_tensor_fuzz_corpus.cc)
81 target_link_libraries(arrow-ipc-generate-tensor-fuzz-corpus ${ARROW_UTIL_LIB}
82 ${ARROW_TEST_LINK_LIBS})
85 add_arrow_fuzz_target(file_fuzz PREFIX "arrow-ipc")
86 add_arrow_fuzz_target(stream_fuzz PREFIX "arrow-ipc")
87 add_arrow_fuzz_target(tensor_stream_fuzz PREFIX "arrow-ipc")