Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 1 | project('boost', 'cpp', version: '1.80.0', meson_version: '>=0.56.0') |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 2 | |
| 3 | cxx = meson.get_compiler('cpp') |
| 4 | |
| 5 | build_dir = join_paths(meson.current_source_dir(), 'build') |
Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 6 | r = run_command('[', '!', '-d', build_dir, ']', check: false) |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 7 | if r.returncode() == 0 |
Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 8 | r = run_command('./bootstrap.sh', '--with-libraries=coroutine', check: true) |
| 9 | r = run_command('./b2', 'install', '--prefix=build', check: true) |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 10 | endif |
| 11 | |
| 12 | include_dir = join_paths('build', 'include') |
| 13 | lib_dir = join_paths(meson.current_source_dir(), 'build', 'lib') |
| 14 | |
| 15 | custom_dep = declare_dependency( |
Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 16 | link_args: ['-L' + lib_dir, '-Wl,-rpath-link,' + lib_dir], |
| 17 | ) |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 18 | |
Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 19 | boost_inc = include_directories(include_dir, is_system: true) |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 20 | boost_dep = declare_dependency( |
Patrick Williams | 7d24aa2 | 2025-02-01 08:37:37 -0500 | [diff] [blame] | 21 | include_directories: boost_inc, |
| 22 | dependencies: [ |
| 23 | cxx.find_library('boost_context', dirs: lib_dir, static: true), |
| 24 | cxx.find_library('boost_coroutine', dirs: lib_dir, static: true), |
| 25 | custom_dep, |
| 26 | ], |
| 27 | ) |
Szymon Dompke | 1b03c8d | 2022-10-13 18:06:17 +0200 | [diff] [blame] | 28 | |
| 29 | meson.override_dependency('boost', boost_dep) |