diff options
Diffstat (limited to 'test cases/rust/28 mixed')
-rw-r--r-- | test cases/rust/28 mixed/hello.rs | 6 | ||||
-rw-r--r-- | test cases/rust/28 mixed/main.cc | 5 | ||||
-rw-r--r-- | test cases/rust/28 mixed/meson.build | 12 |
3 files changed, 23 insertions, 0 deletions
diff --git a/test cases/rust/28 mixed/hello.rs b/test cases/rust/28 mixed/hello.rs new file mode 100644 index 0000000..549fa94 --- /dev/null +++ b/test cases/rust/28 mixed/hello.rs @@ -0,0 +1,6 @@ +#![no_main] + +#[no_mangle] +pub extern "C" fn hello_rust() { + println!("hello world"); +} diff --git a/test cases/rust/28 mixed/main.cc b/test cases/rust/28 mixed/main.cc new file mode 100644 index 0000000..10daae4 --- /dev/null +++ b/test cases/rust/28 mixed/main.cc @@ -0,0 +1,5 @@ +#include <iostream> + +extern "C" void hello_rust(void); + +int main() { std::cout << "This is C++!\n"; hello_rust(); } diff --git a/test cases/rust/28 mixed/meson.build b/test cases/rust/28 mixed/meson.build new file mode 100644 index 0000000..fac3d46 --- /dev/null +++ b/test cases/rust/28 mixed/meson.build @@ -0,0 +1,12 @@ +# use C++ to make it harder +project('mixed', ['cpp', 'rust']) + +e1 = executable('mixed', 'hello.rs', 'main.cc') +e2 = executable('mixed-structured', structured_sources('hello.rs'), 'main.cc') + +hello2 = import('fs').copyfile('hello.rs', 'hello2.rs') +e3 = executable('mixed-structured-gen', structured_sources(hello2), 'main.cc') + +test('mixed', e1) +test('mixed-structured', e2) +test('mixed-structured-gen', e3) |