[Vm-dev] CMakeMaker--whaddya think?

Esteban Lorenzano estebanlm at gmail.com
Wed Apr 16 07:42:10 UTC 2014


Is a bit frustrating so I will say it again: CMakeMaker already does that. And it does it for *any* vm flavour (we are generating pharovm because that’s what we are using, but the builders for cog, stack and even interpreter are there, and working… bah the interpreter version needs some work).
Nothing prevents you to copy the pharo flavour and adapt it as squeak flavour. 
Nothing prevents you to do the same for newspeak. 


ps: Thanks Dave for noticing :)

On 16 Apr 2014, at 03:02, David T. Lewis <lewis at mail.msen.com> wrote:

> On Tue, Apr 15, 2014 at 05:08:39PM -0700, gettimothy wrote:
>> Hi all.
>> Unless I am talked out of it , I am going to generate the CMMake "stuff" from Smalltalk classes similar to the way that VMMaker generates source code.
> This is exactly the approach of the CMakeVMMaker package (hosted in the
> VMMaker repository), so please take a close look at that before you do
> anything new along these lines. There is some very good work that has
> been done there, and there would be no point in duplicating it.
> Also, please take a careful look at Ian Piumarta's CMake procedures in trunk.
> There is a good reason why Ian chose to organize the build procedures in this
> manner, and there is also a good reason why he chose to maintain the build
> scripts in Subversion along with the source code.
> The overall organization of Ian's CMake build is more or less this:
> - A single CMake script platforms/unix/CMakeLists.txt controls the overall build.
> - That script calls INCLUDE to include the instructions for the plugins, the
> VM modules, and for the main VM.
> - The various individual program modules, such as plugins, may have files
> called config.cmake and build.cmake. These live in the source directories
> for their respective modules, and provide any module-specific customization
> needed for configuring or building the module in that directory.
> - For the main VM, the build.cmake and config.cmake files are in the
> platforms/unix/vm directory. These two files control the build of the VM
> itself.
> - There is a unix shell script platforms/unix/cmake/configure that serves
> as a utility to drive the main platforms/unix/CMakeLists.txt. This is a
> convenience script that provides a front end to the entire process (for
> example, it lets you specify --image64 to build a VM for the 64-bit image
> format).
> In order to get the stack interpreter and Cog sources to build in Unix,
> my expectation is that the config.cmake and build.cmake scripts in
> platforms/unix/vm will need to be changed to build the necessary sources
> that Eliot has added to the main VM. In all likelihood, nothing at all
> will need to be changed in any of the plugin directories, or in any of
> the VM module directories (such as vm-display-X11 or vm-sound-ALSA).
> Dave

More information about the Vm-dev mailing list