Re: [Meson-devel] Meson can now compile Qt Creator
Brought to you by:
jussip
From: james <ja...@ma...> - 2014-06-25 05:59:03
|
On 14/05/2014 08:25, Jussi Pakkanen wrote: > ... > > The one that interests me happens to be: > > IDL file (containing ODL) (tool: midl) > -> TLB file (referenced from RC file, tool: rc) > -> RES file (tool: cvtres) > -> OBJ file > > which is a chain used in building COM DLLs. > > > Currently Meson has the limitation that you can't use the output of > generated source as input to a second generator command. You can work > around this by writing a simple script that does all your generator > steps in one go and then call that. So something like this: > > mygen = find_program('myscript.bat') > gen = generator(myget, > outputs : ['@BASENAME@.TLB', '@BASENAME@.RES', '@BASENAME@.obj'], > arguments : ['@INPUT@', '@BUILD_DIR@']) > Tkanks Now the outputs are going to be a mix of file types - one or more source files and an object type. It may also be necessary to try to convince ninja to use a generated dependency file. I see that we specify objects specifically: |exe = executable('myexe', 'source.cpp', objects : 'third_party_object.o')| and the a generator output list can be gathered and used like this: gen_src = gen.process('input1.idl', 'input2.idl') executable('program', 'main.c', gen_src) If gen_src is a mix of objects and sources, how can I pass it to 'executable'? In this case I'd have an obj file as a result of cvtres, and the generated COM server implementation files. Will the program I define for the generator be invoked by ninja with dependency generator options determined by the primary C++ compiler type? Can I influence it? James |