[Vm-dev] VM Maker: CMakeVMMaker-IgorStasenko.173.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Sep 3 16:18:08 UTC 2012


Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMaker-IgorStasenko.173.mcz

==================== Summary ====================

Name: CMakeVMMaker-IgorStasenko.173
Author: IgorStasenko
Time: 3 September 2012, 6:17:57.164 pm
UUID: a394422a-ae17-4430-aa7b-abf7f2a25724
Ancestors: CMakeVMMaker-EstebanLorenzano.170

added a build script generation protocol.

a config must answer a string from #buildScript message,
this string will be placed into

build/build.sh

bash script file, which users then can just run to build everything.

=============== Diff against CMakeVMMaker-EstebanLorenzano.170 ===============

Item was changed:
  ----- Method: CMakeVMGenerator>>generate (in category 'code generation') -----
  generate
  	| intPlugins extPlugins |
  			
  	output := String new writeStream.
  	
  	config setGlobalOptions: self.
  	
  	self 
  		printHeader;
  		project: config executableName.
  
  	config setupDirectories: self.
+ 	
- 		
  	self message: '${CMAKE_MODULE_PATH}'.
  	self set: 'CMAKE_CONFIGURATION_TYPES' to: 'Release'.
  
  	config preferredIncludes 
  		do: [ :each | self includeDirectories: each ].
  	self includeDirectories: self includeDirs.	
  	config standardIncludes 
  		do: [:each | self includeDirectories: each ].
  
  	self addDefinitions: config compilerFlags.
  
  	config extraVMSettings: self.
  	
  	self puts: 'add_executable(' , config executableName, ' ', config executableType, ' ' , self sources , ')'.
  	
  	intPlugins := self generatePluginConfigs: config internalPlugins internal: true.
  	extPlugins := self generatePluginConfigs: config externalPlugins internal: false.
  	
  	self processThirdpartyLibraries.
  	
- 		
- 
  	self processPlugins:  intPlugins, extPlugins.
  
  	config setExtraTargetProperties: self.
  	
  	self cmd: 'target_link_libraries'
  		params: self moduleName , ' ${LINKLIBS}'.
  
  	config postBuildActions: self.
  	
  	self saveFile.
+ 	self generateBuildScript.!
- 	!

Item was added:
+ ----- Method: CMakeVMGenerator>>generateBuildScript (in category 'build script') -----
+ generateBuildScript
+ 
+ 	(self buildDir forceNewFileNamed: 'build.sh') nextPutAll: (config fixLineEndsOf: config buildScript); close.
+ 	!

Item was added:
+ ----- Method: CPlatformConfig>>buildScript (in category 'build script') -----
+ buildScript
+ 	"answer the build script for building everything"
+ 	
+ 
+ 	^ 
+ '#!!bash
+ ../codegen-scripts/extract-commit-info.sh
+ cmake .
+ make
+ 
+ '!

Item was added:
+ ----- Method: CogFamilyUnixConfig>>buildScript (in category 'build script') -----
+ buildScript
+ 	"answer the build script for building everything"
+ 	
+ 
+ 	^ 
+ '#!!bash
+ ../codegen-scripts/extract-commit-info.sh
+ cmake .
+ make
+ 
+ '!

Item was added:
+ ----- Method: CogFamilyWindowsConfig>>buildScript (in category 'as yet unclassified') -----
+ buildScript
+ 	"answer the build script for building everything"
+ 	
+ 
+ 	^ 
+ '#!!bash
+ ../codegen-scripts/extract-commit-info.sh
+ cmake -G "MSYS Makefiles" .
+ make
+ 
+ '!

Item was added:
+ ----- Method: MacOSConfig>>buildScript (in category 'build script') -----
+ buildScript
+ 	"answer the build script for building everything"
+ 	
+ 
+ 	^ 
+ '#!!bash
+ ../codegen-scripts/extract-commit-info.sh
+ cmake .
+ make
+ make install
+ 
+ '!



More information about the Vm-dev mailing list