[Vm-dev] I don't understand how CMake uses VMMaker

Igor Stasenko siguctua at gmail.com
Sat Apr 16 22:34:04 UTC 2011


On 17 April 2011 00:16, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>
> Hi Igor. I was debugging a little the CMake generation and there are 2 things I don't understand:
>
> 1) Why you always use a "Cross" VMMaker instead of the specific OS ? I mean, in #prepareVMMaker you do:
> maker := VMMaker forPlatform: 'Cross'.
> Shouldn't you put the correct OS ?   what are the differences doing so ?   was the functionality of those special classes like Win32VMMaker, UnixVMMaker, etc.. moved the CMakeVMMaker confs ?
>

Thanks to Eliot, generated sources are not differ from one to another
platform, therefore Cross is ok. :)


> 2) Why you see all plugins as external to VMMaker ?  In #prepareVMMaker you do:
>
> allPlugins := self internalPlugins , self externalPlugins.
>
>   maker externalModules addAll:  allPlugins.
>

This is to specify which plugins sources to generate.
The sources output are not different whether plugin will be external
or not, therefore i just adding them to single list.

>
> I think this deserves a comment because it sounds pretty weird from a newbie sight.
>

I think a CodeGenerator deserves a bit of cleanup to reflect the
changes described above.
And since Cog VMs are not using GUI for generating sources, things
like VMMakerTool can rest in peace.
Personally i found it much simpler  to control internal/external
plugins using CMakeVMMaker classes,
comparing to old ways, when you had to manually add all plugins using GUI tool.
Especially, when some plugins are fit only for specific target (like
ThreadedFFIPlugin),
or only for specific OS, like MacMenuBarPlugin.

> Thanks in advance,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>

-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list