Merge pull request #8236 from dcbaker/submit/rust-fix-generated-sources-in-subdir
Submit/rust fix generated sources in subdir
This commit is contained in:
commit
bb6385111a
|
@ -1593,7 +1593,7 @@ int dummy;
|
|||
if isinstance(g, GeneratedList):
|
||||
fname = os.path.join(self.get_target_private_dir(target), i)
|
||||
else:
|
||||
fname = i
|
||||
fname = os.path.join(g.get_subdir(), i)
|
||||
if main_rust_file is None:
|
||||
main_rust_file = fname
|
||||
orderdeps.append(fname)
|
||||
|
|
|
@ -6,10 +6,14 @@ import argparse
|
|||
def main() -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('out')
|
||||
parser.add_argument('--mode', choices=['main', 'lib'], default='main')
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.out, 'w') as f:
|
||||
f.write('fn main() { println!("I prefer tarnish, actually.") }')
|
||||
if args.mode == 'main':
|
||||
f.write('fn main() { println!("I prefer tarnish, actually.") }')
|
||||
elif args.mode == 'lib':
|
||||
f.write('pub fn libfun() { println!("I prefer tarnish, actually.") }')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
extern crate static_lib_generated as lib;
|
||||
|
||||
fn main() {
|
||||
lib::libfun();
|
||||
}
|
|
@ -11,6 +11,11 @@ c = custom_target(
|
|||
executable('custom_target_main', c)
|
||||
executable('custom_target_index_main', c[0])
|
||||
|
||||
gen = generator(gen, arguments : ['@OUTPUT@'], output : '@BASENAME@.rs')
|
||||
gener = generator(gen, arguments : ['@OUTPUT@'], output : '@BASENAME@.rs')
|
||||
# Doesn't actually use gen.py as input, just a limitation of generators
|
||||
executable('generator_main', gen.process(['gen.py']))
|
||||
executable('generator_main', gener.process(['gen.py']))
|
||||
|
||||
subdir('sub')
|
||||
executable('custom_target_subdir_main', s)
|
||||
|
||||
executable('link_with_generated_lib', 'generated_lib_main.rs', link_with : lib)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
s = custom_target(
|
||||
'subdir_target',
|
||||
command : [gen, '@OUTPUT@'],
|
||||
output : ['main.rs'],
|
||||
)
|
||||
|
||||
l = custom_target(
|
||||
'lib_target',
|
||||
command : [gen, '@OUTPUT@', '--mode', 'lib'],
|
||||
output : ['lib.rs'],
|
||||
)
|
||||
|
||||
lib = static_library('static_lib_generated', l)
|
Loading…
Reference in New Issue