Skip to content

Commit 60a7a19

Browse files
committed
Revert "apacheGH-46827: [C++] Update Meson Configuration for compute shared lib (apache#46839)"
This reverts commit e6cef22.
1 parent 539a52d commit 60a7a19

9 files changed

Lines changed: 132 additions & 207 deletions

File tree

cpp/src/arrow/acero/meson.build

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,12 @@ arrow_acero_srcs = [
8080
arrow_acero_lib = library(
8181
'arrow-acero',
8282
sources: arrow_acero_srcs,
83-
dependencies: [arrow_compute_dep, arrow_dep, threads_dep],
84-
gnu_symbol_visibility: 'hidden',
83+
dependencies: [arrow_dep],
8584
)
8685

8786
arrow_acero_dep = declare_dependency(link_with: [arrow_acero_lib])
8887

89-
arrow_acero_testing_sources = ['test_nodes.cc', 'test_util_internal.cc']
88+
arrow_acero_testing_sources = ['test_nodes.cc', 'test_util_internal.cc'] + arrow_compute_testing_srcs
9089

9190
arrow_acero_tests = {
9291
'plan-test': {'sources': ['plan_test.cc', 'test_nodes_test.cc']},
@@ -111,7 +110,7 @@ foreach key, val : arrow_acero_tests
111110
exc = executable(
112111
'arrow-acero-@0@'.format(key),
113112
sources: val['sources'] + arrow_acero_testing_sources,
114-
dependencies: [arrow_acero_dep, arrow_compute_test_dep],
113+
dependencies: [arrow_acero_dep, arrow_test_dep],
115114
)
116115
test(key, exc)
117116
endforeach
@@ -134,19 +133,7 @@ foreach key, val : arrow_acero_benchmarks
134133
exc = executable(
135134
key,
136135
sources: val['sources'] + arrow_acero_testing_sources,
137-
dependencies: [
138-
arrow_acero_dep,
139-
arrow_compute_test_dep,
140-
arrow_benchmark_dep,
141-
gmock_dep,
142-
],
136+
dependencies: [arrow_acero_dep, arrow_benchmark_dep, gmock_dep],
143137
)
144138
benchmark(key, exc)
145139
endforeach
146-
147-
pkg.generate(
148-
filebase: 'arrow-acero',
149-
name: 'Apache Arrow Acero Engine',
150-
description: 'Apache Arrow\'s Acero Engine',
151-
requires: ['arrow-compute'],
152-
)

cpp/src/arrow/c/meson.build

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,10 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
if needs_compute
19-
arrow_c_bridge_deps = [arrow_compute_test_dep]
20-
else
21-
arrow_c_bridge_deps = [arrow_test_dep]
22-
endif
23-
2418
exc = executable(
2519
'arrow-c-bridge-test',
2620
sources: ['bridge_test.cc'],
27-
dependencies: arrow_c_bridge_deps,
21+
dependencies: [arrow_test_dep],
2822
)
2923
test('arrow-c-bridge-test', exc)
3024

cpp/src/arrow/compute/CMakeLists.txt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,9 @@ if(ARROW_TESTING AND ARROW_COMPUTE)
4848
add_library(arrow_compute_testing OBJECT ${ARROW_COMPUTE_TESTING_SRCS})
4949
# Even though this is still just an object library we still need to "link"
5050
# arrow_compute_core_testing so that is also included correctly
51-
if(MSVC AND MSVC_VERSION LESS 1930)
52-
target_link_libraries(arrow_compute_testing
53-
PUBLIC $<TARGET_OBJECTS:arrow_compute_core_testing>
54-
PUBLIC ${ARROW_GTEST_GTEST_MAIN})
55-
else()
56-
target_link_libraries(arrow_compute_testing
57-
PUBLIC $<TARGET_OBJECTS:arrow_compute_core_testing>
58-
PUBLIC ${ARROW_GTEST_GTEST})
59-
endif()
51+
target_link_libraries(arrow_compute_testing
52+
PUBLIC $<TARGET_OBJECTS:arrow_compute_core_testing>
53+
PUBLIC ${ARROW_GTEST_GTEST_MAIN})
6054
endif()
6155

6256
set(ARROW_COMPUTE_TEST_PREFIX "arrow-compute")

cpp/src/arrow/compute/kernels/meson.build

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,17 @@ endif
2626

2727
exc = executable(
2828
'arrow-scalar-cast-test',
29-
sources: ['scalar_cast_test.cc'] + kernel_testing_srcs,
30-
dependencies: [arrow_compute_test_dep],
29+
sources: ['scalar_cast_test.cc'] + arrow_compute_testing_srcs + kernel_testing_srcs,
30+
dependencies: [arrow_test_dep],
3131
)
3232
test('arrow-scalar-cast-test', exc)
3333

34+
if needs_compute
35+
arrow_compute_test_dep = declare_dependency(dependencies: [arrow_test_dep])
36+
else
37+
arrow_compute_test_dep = disabler()
38+
endif
39+
3440
# ----------------------------------------------------------------------
3541
# Scalar kernels
3642

@@ -65,7 +71,7 @@ scalar_kernel_tests = {
6571
foreach key, val : scalar_kernel_tests
6672
exc = executable(
6773
key,
68-
sources: val['sources'] + kernel_testing_srcs,
74+
sources: val['sources'] + arrow_compute_testing_srcs + kernel_testing_srcs,
6975
dependencies: [arrow_compute_test_dep],
7076
)
7177
test(key, exc)
@@ -120,7 +126,7 @@ vector_kernel_tests = {
120126
foreach key, val : vector_kernel_tests
121127
exc = executable(
122128
key,
123-
sources: val['sources'] + kernel_testing_srcs,
129+
sources: val['sources'] + arrow_compute_testing_srcs + kernel_testing_srcs,
124130
dependencies: [arrow_compute_test_dep],
125131
)
126132
test(key, exc)
@@ -151,7 +157,7 @@ endforeach
151157
# Aggregates
152158
exc = executable(
153159
'arrow-compute-aggregate-test',
154-
sources: ['aggregate_test.cc'] + kernel_testing_srcs,
160+
sources: ['aggregate_test.cc'] + arrow_compute_testing_srcs + kernel_testing_srcs,
155161
dependencies: [arrow_compute_test_dep, filesystem_dep],
156162
)
157163
test('arrow-compute-aggregate-test', exc)

cpp/src/arrow/compute/meson.build

Lines changed: 20 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -41,48 +41,15 @@ install_headers(
4141
if needs_compute
4242
pkg.generate(
4343
filebase: 'arrow-compute',
44-
name: 'Apache Arrow Compute Kernels',
45-
description: 'Apache Arrow\'s Compute Kernels',
44+
name: 'Apache Arrow Compute',
45+
description: 'All compute kernels for Apache Arrow',
4646
requires: ['arrow'],
4747
)
4848
endif
4949

50-
# Define arrow_compute_core_testing object library for common test files requiring
51-
# only core compute. No extra kernels are required.
50+
arrow_compute_testing_srcs = []
5251
if needs_testing
53-
arrow_compute_core_test_lib = library(
54-
'arrow-compute-core-testing',
55-
sources: files('test_util_internal.cc'),
56-
dependencies: arrow_test_dep,
57-
)
58-
arrow_compute_core_test_dep = declare_dependency(
59-
link_with: arrow_compute_core_test_lib,
60-
)
61-
else
62-
arrow_compute_core_test_dep = disabler()
63-
endif
64-
65-
# Define arrow_compute_testing object library for test files requiring extra kernels.
66-
if needs_testing and needs_compute
67-
arrow_compute_testing_lib = library(
68-
'arrow-compute-testing',
69-
sources: files('test_env.cc'),
70-
dependencies: [
71-
arrow_compute_dep,
72-
arrow_compute_core_test_dep,
73-
arrow_test_dep_no_main,
74-
],
75-
)
76-
arrow_compute_test_dep = declare_dependency(
77-
link_with: arrow_compute_testing_lib,
78-
dependencies: [
79-
arrow_compute_dep,
80-
arrow_compute_core_test_dep,
81-
arrow_test_dep_no_main,
82-
],
83-
)
84-
else
85-
arrow_compute_test_dep = disabler()
52+
arrow_compute_testing_srcs += files('test_util_internal.cc')
8653
endif
8754

8855
exc = executable(
@@ -92,13 +59,15 @@ exc = executable(
9259
'exec_test.cc',
9360
'kernel_test.cc',
9461
'registry_test.cc',
95-
],
96-
dependencies: [arrow_compute_core_test_dep, arrow_test_dep],
62+
] + arrow_compute_testing_srcs,
63+
dependencies: [arrow_test_dep],
9764
)
9865
test('arrow-internals-test', exc)
9966

10067
compute_tests = {
101-
'arrow-compute-expression-test': {'sources': ['expression_test.cc']},
68+
'arrow-compute-expression-test': {
69+
'sources': ['expression_test.cc'] + arrow_compute_testing_srcs,
70+
},
10271
'arrow-compute-row-test': {
10372
'sources': [
10473
'key_hash_test.cc',
@@ -108,7 +77,7 @@ compute_tests = {
10877
'row/row_encoder_internal_test.cc',
10978
'row/row_test.cc',
11079
'util_internal_test.cc',
111-
],
80+
] + arrow_compute_testing_srcs,
11281
},
11382
}
11483

@@ -127,14 +96,16 @@ compute_tests = {
12796
# - value_counts
12897
#
12998
# Also see: GH-34388, GH-34615
130-
foreach key, val : compute_tests
131-
exc = executable(
132-
key,
133-
sources: val['sources'],
134-
dependencies: [arrow_compute_test_dep],
135-
)
136-
test(key, exc)
137-
endforeach
99+
if needs_compute
100+
foreach key, val : compute_tests
101+
exc = executable(
102+
key,
103+
sources: val['sources'],
104+
dependencies: [arrow_test_dep],
105+
)
106+
test(key, exc)
107+
endforeach
108+
endif
138109

139110
exc = executable(
140111
'arrow-compute-function-benchmark',

cpp/src/arrow/compute/row/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ if needs_compute
2424
exc = executable(
2525
'arrow-compute-grouper-benchmark',
2626
sources: ['grouper_benchmark.cc'],
27-
dependencies: [arrow_compute_dep, arrow_benchmark_dep],
27+
dependencies: [arrow_benchmark_dep],
2828
)
2929
endif

cpp/src/arrow/compute/test_env.cc

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,8 @@ class ComputeKernelEnvironment : public ::testing::Environment {
3535

3636
} // namespace
3737

38-
#if defined(_MSC_VER) && _MSC_VER < 1930
3938
// Initialize the compute module
4039
::testing::Environment* compute_kernels_env =
4140
::testing::AddGlobalTestEnvironment(new ComputeKernelEnvironment);
42-
#endif
4341

4442
} // namespace arrow::compute
45-
46-
#if !(defined(_MSC_VER) && _MSC_VER < 1930)
47-
int main(int argc, char** argv) {
48-
::testing::InitGoogleTest(&argc, argv);
49-
::testing::AddGlobalTestEnvironment(new arrow::compute::ComputeKernelEnvironment);
50-
return RUN_ALL_TESTS();
51-
}
52-
#endif

0 commit comments

Comments
 (0)