On 4 June 2011 11:34, Alain Plantec <alain.plantec@yahoo.com> wrote:
Hi Igor,
#configureFT2Plugin: is the place for #addExternalLibraries: but it only works for FT2Plugin compiled as internal plugin. To compile the FT2Plugin as external, you also have to use #addExternalLibraries: #('freetype') but not sent from #configureFT2Plugin:. It is because of cmake and where #configurePlugin:with: is sent from the #generate method. in the #generate method, #configurePlugin:with: is sent  **BEFORE** the 'add_library' cmd production for cmake. it is ok for internal plugin. but, if the plugin is external, then, #addExternalLibraries: #('freetype') has to be invoked **AFTER** the 'add_library' cmd production for cmake.
I've implemented a #postConfigurePlugin:with:. same logic as #configurePlugin:with: but sent from the generate method after the 'add_library' cmd production.
generate ...   vmGen config configurePlugin: plugin with: self. ...   internal     ifTrue: [self cmd: 'add_library' params:  name , ' STATIC ${sources}'.]     ifFalse: [self cmd: 'add_library' params: name , ' SHARED ${sources}'].
  vmGen config postConfigurePlugin: plugin with: self.  "added post configuration here" ...
Yeah. I am also stumbled with this couple of times. The workaround would be to use variables, so in #addExternalLibrary , it should set (or better append ) library to the list, and then generator will simply use this list in a single command for linking with target.
I will open an issue and put all my stuffs there.
good. thanks.
Cheers Alain
-- Best regards, Igor Stasenko AKA sig.