1project('boost', 'cpp', version: '1.80.0', meson_version: '>=0.56.0') 2 3cxx = meson.get_compiler('cpp') 4 5build_dir = join_paths(meson.current_source_dir(), 'build') 6r = run_command('[', '!', '-d', build_dir, ']', check: false) 7if r.returncode() == 0 8 r = run_command('./bootstrap.sh', '--with-libraries=coroutine', check: true) 9 r = run_command('./b2', 'install', '--prefix=build', check: true) 10endif 11 12include_dir = join_paths('build', 'include') 13lib_dir = join_paths(meson.current_source_dir(), 'build', 'lib') 14 15custom_dep = declare_dependency( 16 link_args: ['-L' + lib_dir, '-Wl,-rpath-link,' + lib_dir], 17) 18 19boost_inc = include_directories(include_dir, is_system: true) 20boost_dep = declare_dependency( 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) 28 29meson.override_dependency('boost', boost_dep) 30