blob: 3ab24cd429fce43a4b70e7e7ae6e2b23c6967298 [file] [log] [blame]
Patrick Williams7d24aa22025-02-01 08:37:37 -05001project('boost', 'cpp', version: '1.80.0', meson_version: '>=0.56.0')
Szymon Dompke1b03c8d2022-10-13 18:06:17 +02002
3cxx = meson.get_compiler('cpp')
4
5build_dir = join_paths(meson.current_source_dir(), 'build')
Patrick Williams7d24aa22025-02-01 08:37:37 -05006r = run_command('[', '!', '-d', build_dir, ']', check: false)
Szymon Dompke1b03c8d2022-10-13 18:06:17 +02007if r.returncode() == 0
Patrick Williams7d24aa22025-02-01 08:37:37 -05008 r = run_command('./bootstrap.sh', '--with-libraries=coroutine', check: true)
9 r = run_command('./b2', 'install', '--prefix=build', check: true)
Szymon Dompke1b03c8d2022-10-13 18:06:17 +020010endif
11
12include_dir = join_paths('build', 'include')
13lib_dir = join_paths(meson.current_source_dir(), 'build', 'lib')
14
15custom_dep = declare_dependency(
Patrick Williams7d24aa22025-02-01 08:37:37 -050016 link_args: ['-L' + lib_dir, '-Wl,-rpath-link,' + lib_dir],
17)
Szymon Dompke1b03c8d2022-10-13 18:06:17 +020018
Patrick Williams7d24aa22025-02-01 08:37:37 -050019boost_inc = include_directories(include_dir, is_system: true)
Szymon Dompke1b03c8d2022-10-13 18:06:17 +020020boost_dep = declare_dependency(
Patrick Williams7d24aa22025-02-01 08:37:37 -050021 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 Dompke1b03c8d2022-10-13 18:06:17 +020028
29meson.override_dependency('boost', boost_dep)