Skip to content

Commit bdafa0e

Browse files
committed
Try wrapping Boost CMake
1 parent c438216 commit bdafa0e

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

cpp/src/arrow/meson.build

+15-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,21 @@ install_headers(
371371
)
372372

373373
if needs_tests
374-
filesystem_dep = dependency('boost', modules: ['filesystem'])
374+
filesystem_dep = dependency(
375+
'boost',
376+
modules: ['filesystem'],
377+
required: false,
378+
)
379+
if not filesystem_dep.found()
380+
cmake = import('cmake')
381+
boost_opt = cmake.subproject_options()
382+
boost_opt.add_cmake_defines(
383+
{'BOOST_INCLUDE_LIBRARIES': 'filesystem;system'},
384+
)
385+
boost_proj = cmake.subproject('boost', options: boost_opt)
386+
filesystem_dep = boost_proj.dependency('boost_filesystem')
387+
endif
388+
375389
gtest_main_dep = dependency('gtest_main')
376390
gmock_dep = dependency('gmock')
377391
else

cpp/subprojects/boost.wrap

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
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
16+
# under the License.
17+
18+
[wrap-file]
19+
source_url = https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.tar.gz
20+
source_filename = boost-1.87.0-cmake
21+
source_hash = 78fbf579e3caf0f47517d3fb4d9301852c3154bfecdc5eeebd9b2b0292366f5b
22+
directory = boost-1.87.0
23+
method=cmake
24+
25+
[provide]
26+
boost_filesystem = boost_filesystem_dep
27+
boost_system = boost_system_dep

0 commit comments

Comments
 (0)