Timothy M uploaded a new version of CMakeVMMaker to project VM Maker: http://source.squeak.org/VMMaker/CMakeVMMaker-tty.215.mcz
==================== Summary ====================
Name: CMakeVMMaker-tty.215 Author: tty Time: 23 April 2014, 4:32:27.764414 pm UUID: 807800ba-ed49-4d2c-858b-e3c0d81fe7cf Ancestors: CMakeVMMaker-tty.214
Modified class comment in CPlatformConfig to refer to the correct repository on github instead of gittorious
=============== Diff against CMakeVMMaker-EstebanLorenzano.213 ===============
Item was changed: Object subclass: #CPlatformConfig instanceVariableNames: 'topDir buildDir srcDir platformsDir outputDir internalPlugins externalPlugins pluginsDir externalLibs thirdpartyLibs' classVariableNames: '' poolDictionaries: '' category: 'CMakeVMMaker'!
+ !CPlatformConfig commentStamp: 'tty 4/23/2014 16:30' prior: 0! - !CPlatformConfig commentStamp: 'MarianoMartinezPeck 4/24/2011 15:29' prior: 0! Base class, defining some common properties and behavior for all kinds of VM build configurations. These classes are used to generate the VM sources and the CMMake files.
+ Notice that this configuration classes expect that you have download the "platofroms code" which is hosted here: + https://github.com/pharo-project/pharo-vm. - Notice that this configuration classes expect that you have download the "platofroms code" which is in Gitorious: https://gitorious.org/cogvm - You can load it executing: git clone git://gitorious.org/cogvm/blessed.git
+ You can clone it using this command: git clone https://github.com/pharo-project/pharo-vm + Once that is done it should have created a directory /blessed. In order to get all the directories by default, place this image under /blessed/image
To generate a sources/build configuration use one of my subclasses with: <config> generate. - to generate a build configuration <config> generateWithSources - to generate VMMaker sources and then build configuration.
Once you do that, go to /blessed/build and execute: cmake . or cmake -G"MSYS Makefiles" if you are in Windows
Since some plugins require extra settings (like additional source files etc), there is two ways to add that:
- add custom rules on plugin class side:
PluginClass>>generateFor: aCMakeVMGenerator internal: aBoolean
^ aCMakeVMGenerator generatePlugin: self internal: aBoolean extraRules: [:maker | ... your rules come here ... ] - define rules by adding #configure<PluginClass>: method in config class (see my 'plugin extra rules' category)
The last one is more compact and also avoids inter-package dependency, so you can load and use CMakeVMMaker even if some 3rd-party plugins are not loaded into image.
Links of interest:
Official Cog Website: http://www.mirandabanda.org/cog Official Cog Blog: http://www.mirandabanda.org/cogblog Cog issue tracker: http://code.google.com/p/cog Cog Wiki: http://code.google.com/p/cog/w/list Cog binaries: http://www.mirandabanda.org/files/Cog/VM Cog binaries in Pharo Hudson server: https://pharo-ic.lille.inria.fr/hudson/view/Cog Cog SVN branch: http://squeakvm.org/svn/squeak/branches/Cog VM mailing list: http://lists.squeakfoundation.org/mailman/listinfo/vm-dev VM-beginners mailing list: http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners Guide step by step about how to build the Cog VM using CMakeVMMaker and Git: http://code.google.com/p/cog/wiki/Guide
!