CMakeVMMakerSqueak beta version ready for the confident.
Porting an existing CMakeVMaker Configuration to a new platform was trivially easy on my flavor of linux. (I ported the Linux64x86w32BitSqueakCogV3Config to a Linux32x86SqueakCogV3Config) With this success, I am confident the architectural approach is a correct one and the community can now start porting to different *nix platforms: (BSD, Arm, SunOs, Ubuntu), buildTypes and [Language].[VM].[Memory Model]
Consider this an initial release (albeit, very limited).
I will be very happy to walk others through the process of developing their own configurations on *nix variants and get comfortable using the tool.
My goal in this project is to make it easy for VM dev newbies to be up and running compiling their own VIrtual Machines.
In the HelpBrowser the "Start Here" book and the (incomplete) "Developer Guide->Configurations->Example Workflow:New Configuration" topics are enough to get up and running. I will be spending the next several days/hours completing and editing the Help before getting back into Configurations development and platform porting.
After the Help is done, my next tasks are:
1. Build out the remaining 9 build types for my existing 32 bit compat Configurations--build.assert, build.debug etc. after solving the NoDbgRegParms problem in autotools. 2. Build out the remaining [Language]. [VM]. [Memory Model] Configurations for my platform. 3. QA my bash shell scripts for getting a Newbie a completely configured image for VM/Cmake generation. 4. With my platform done, I will move to SunOs . 5. Hit Tim R. up for that cash.
For Ubuntu folks, Slackware differs in the location of libraries. Slackware puts "normal" stuff in /lib64 and 32 bit compat libs in /lib while Ubuntu puts "normal" stuff in /lib and 32 bit stuff in /lib32. We can either mix in all the Ubuntu configurations with the existing, or break Ubuntu configurations into their own platform area (my preference). Like I say, I can walk you through it.
For Mac and Dos machines, we need to discuss strategy.
CMake offers the opportunity to generate build systems that are native to those platforms This potentially means generating files that work with Windows Visual Studio or whatever native doo-dads you mac guys work with.
ALSO! CMake supports Packaging with CPack. I do not know how to use it, BUT, imagine a tool written in Squeak that writes the things that generate our releases for us and then packages them up for distinct platforms--(:
Finally, a discussion of integration w/Pharo is needed.