The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
881 B
44 lines
881 B
project('rust proc-macro', 'rust') |
|
|
|
if build_machine.system() != 'linux' |
|
error('MESON_SKIP_TEST, this test only works on Linux. Patches welcome.') |
|
endif |
|
|
|
pm = shared_library( |
|
'proc_macro_examples', |
|
'proc.rs', |
|
rust_crate_type : 'proc-macro', |
|
) |
|
|
|
main = executable( |
|
'main', |
|
'use.rs', |
|
link_with : pm, |
|
rust_args : ['-C', 'panic=abort'], |
|
) |
|
|
|
test('main_test', main) |
|
|
|
rust = import('rust') |
|
|
|
pm = rust.proc_macro('proc_macro_examples2', 'proc.rs') |
|
|
|
main = executable( |
|
'main2', |
|
'use.rs', |
|
link_with : pm, |
|
rust_dependency_map : {'proc_macro_examples2' : 'proc_macro_examples'} |
|
) |
|
|
|
test('main_test2', main) |
|
|
|
subdir('subdir') |
|
|
|
staticlib = static_library('staticlib', 'lib.rs', |
|
link_with: pm_in_subdir, |
|
rust_dependency_map : {'proc_macro_examples3' : 'proc_macro_examples'} |
|
) |
|
|
|
executable('transitive-proc-macro', 'transitive-proc-macro.rs', |
|
link_with: staticlib, |
|
)
|
|
|