[Vm-dev] VM Maker: CMakeVMMakerSqueak-tty.93.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Nov 27 15:27:31 UTC 2014
Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.93.mcz
==================== Summary ====================
Name: CMakeVMMakerSqueak-tty.93
Author: tty
Time: 27 November 2014, 10:27:39.203 am
UUID: 5e3bd702-302a-41c3-880e-bc784a9d7e4c
Ancestors: CMakeVMMakerSqueak-tty.92
Added a stub START HERE help class after returning to the project after several months and realizing I had forgotten everything and there was no documentation on things a newbie would need to get familiarized with creating builds.
=============== Diff against CMakeVMMakerSqueak-tty.92 ===============
Item was changed:
----- Method: CMakeVMGeneratorForSqueak>>generateByTemplate (in category 'code generation') -----
generateByTemplate
"attempt to move way from string based writing to template based. Think Seaside renderOn composition"
| extPlugins intPlugins |
self flag: 'tty'. "refactor so that the cascade reflects CMake terminilogy"
output := String new writeStream.
config templates: OrderedCollection new.
+ self break.
config
setGlobalOptions: self;
cmakePrefixPath;
cmakeIncludePath;
cmakeLibraryPath;
cmakeIncludeModules;
cmakeCFlags;
cmakeAddDefinitions;
+ cmakeWriteDirectoriesDotCmake: self;
+ cmakeIncludeDirectories: self; "<---"
+ preferredIncludes; "<---why 3 of em?"
+ standardIncludes; "<---"
setGlobalOptionsAfterDetermineSystem: self;
+ extraVMSettings: self; "<--catch-all method. os/platform specific"
- setDirectories: self;
- cmakeIncludeDirectories: self;
- preferredIncludes;
- standardIncludes;
- extraVMSettings: self;
setCoreSources: self;
setPlatformSources: self;
setCrossSources: self;
setExtraSources;
cmakeSetSourceFilesProperties;
cmakeListAppend:'LINKLIBS' elements: (config externalLibs);
cmakeAddExecutableNameOptionSource: self;
setExecutableOutputPath;
addVMPlugins: self.
config templates do: [:each | self puts: each content].
extPlugins := self generatePluginConfigs: config internalPlugins internal: true.
intPlugins := self generatePluginConfigs: config externalPlugins internal: false.
self processThirdpartyLibraries.
self processPlugins: intPlugins, extPlugins.
self cmd: 'target_link_libraries'
params: self moduleName , ' ${LINKLIBS}'.
config postBuildActions: self..
self saveFile.
self generateBuildScript!
Item was changed:
----- Method: CMakeVMMakerSqueakDeveloperHelp class>>pages (in category 'pages') -----
pages
+ ^#(overview prerequisites terms igorStasenkoDesign tests buildersAndConfigs plugins pthreads configDotCmake templates vmplugins)!
- ^#(overview prerequisites terms igorStasenkoDesign buildersAndConfigs plugins pthreads configDotCmake templates vmdrivers)!
Item was added:
+ ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>tests (in category 'pages') -----
+ tests
+ ^HelpTopic
+ title:'Tests'
+ contents:
+ '
+ When all tests pass. This does not mean the classes are configured correctly for source,output and build directories.
+
+ It does mean nothing structural is preventing that from being implemented.
+
+ '!
Item was removed:
- ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>vmdrivers (in category 'pages') -----
- vmdrivers
- ^HelpTopic
- title:'VMDrivers'
- contents:'
-
- TODO CMakeVMMakerSqueak-VMDriver purpose, configuration and use'!
Item was added:
+ ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>vmplugins (in category 'pages') -----
+ vmplugins
+ ^HelpTopic
+ title:'VMPlugins'
+ contents:'
+
+ TODO CMakeVMMakerSqueak-VMPlugin purpose, configuration and use'!
Item was added:
+ ----- Method: CMakeVMMakerSqueakHelp class>>key (in category 'accessing') -----
+ key
+ ^'CMakeVMMakerSqueakHelp'!
Item was changed:
----- Method: CMakeVMMakerSqueakHelp class>>pages (in category 'accessing') -----
pages
+ ^#(CMakeVMMakerSqueakStartHereHelp CMakeVMMakerSqueakDeveloperHelp CMakeVMMakerSqueakBuildersHelp CMakeVMMakerSqueakHowToCreateNewConfigurationHelp)!
- ^#(CMakeVMMakerSqueakDeveloperHelp CMakeVMMakerSqueakBuildersHelp CMakeVMMakerSqueakHowToCreateNewConfigurationHelp)!
Item was added:
+ CMakeVMMakerSqueakHelp subclass: #CMakeVMMakerSqueakStartHereHelp
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'CMakeVMMakerSqueak-Help'!
Item was added:
+ ----- Method: CMakeVMMakerSqueakStartHereHelp class>>bookName (in category 'accessing') -----
+ bookName
+ ^'CMakeVMMaker Start Here'!
Item was added:
+ ----- Method: CMakeVMMakerSqueakStartHereHelp class>>pages (in category 'accessing') -----
+ pages
+ ^#(scratch shortVersionLinuxBuild)!
Item was added:
+ ----- Method: CMakeVMMakerSqueakStartHereHelp class>>scratch (in category 'pages') -----
+ scratch
+ ^HelpTopic
+ title: 'Start Here Scratch'
+ contents:
+ 'Goal is that a complete newbie can open this and get up and running.
+
+ '!
Item was added:
+ ----- Method: CMakeVMMakerSqueakStartHereHelp class>>shortVersionLinuxBuild (in category 'pages') -----
+ shortVersionLinuxBuild
+ ^HelpTopic
+ title: 'Short Version Linux Build'
+ contents:
+ 'These steps will familiarize you with the CMakeVMMaker system from a user perspective. At the end of this Help Topic you should have a working system for Linux.
+ Each step is an action followed by an explanation of what you are looking at.
+
+ 1. (SqueakLinux64x86w32CompatBuilder default) browseHierarchy
+
+ CMakeVmMakerSqueak uses Builders to build builds.
+ The author''s system is a 64 bit architecture with 32 bit compatability libraries installed, so he uses the SqueakLinux64x86w32CompatBuilder.
+ Builder.
+
+ 2. (SqueakLinux64x86w32CompatBuilder default) browse
+ The Classes in the CMakeVMMakerSqueak-Builder Class Category are named with the convention "Squeak[Operating System][Architecture][Miscelaneous]Builder".
+
+ If you are compiling on a pure 32 bit linux box, use the (SqueakLinux32x86Builder default) builder
+
+ A pure 64 bit linux build would require the (SqueakLinux32x86_64Builder default) builder.
+
+ The same convention holds for other operating systems (mac, windows, etc)
+
+ 2. (SqueakLinux64x86w32CompatBuilder default) configurationsCategory inspect
+
+ In CmakeVMMakerSqueak, Builders utilize "Configurations" to generate "builds".
+ Configurations are classes and are stored in specific class categories .
+ Open a browser and look in the "CMakeVMMakerSqueak-Linux64X86-32BitCompatibility" category and you will see the Configuration classes available for that builder.
+
+
+
+ 3. (SqueakLinux64x86w32CompatBuilder default) allAvailableBuildTypes
+
+
+ do c
+
+ '!
Item was added:
+ ----- Method: CPlatformConfigForSqueak>>cmakeWriteDirectoriesDotCmake: (in category 'cmake') -----
+ cmakeWriteDirectoriesDotCmake: aMaker
+ "SystemNavigation default browseMethodsWhoseNamesContain: 'setupDirectories:'"
+ self subclassResponsibility!
Item was removed:
- ----- Method: CPlatformConfigForSqueak>>vmdrivers (in category 'accessing') -----
- vmdrivers
- ^vmdrivers!
Item was added:
+ ----- Method: CPlatformConfigForSqueak>>vmplugins (in category 'accessing') -----
+ vmplugins
+ ^vmplugins!
Item was removed:
- ----- Method: Linux64x86w32BitConfig>>zaddVMDriversBuild: (in category 'cmake buildType redirects') -----
- zaddVMDriversBuild: aMaker
- |temp o|
- "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
- o := String new writeStream.
- temp := OrderedCollection new.
- (enabledebugmessages)
- ifTrue:[ templates
- addLast:((CMakeMessage new) message: (self class name) , 'addVMDriversBuild:')
- ] .
- temp
- " cmakeGen printHeader;
- project: name;
- include: '../directories.cmake';"
- addLast: ((CMakeHeader new) configurationName: self class name );
- addLast: ((CMakeProject new)variable: self executableName );
- addLast: ((CMakeInclude new) file: ((self buildDirName), FileDirectory slash, 'directories.cmake')); "??"
- addLast:((CMakeAddDefinitions new) definitions: self compilerFlags asOrderedCollection);
- addLast:((CMakeAddDefinitions new) definitions: (OrderedCollection with:'-fPIC' with:'-DPIC' ));
- addLast:((CMakeSet new) variable:'sources' quotedValue: '${targetPlatform}/vm-display-null/sqUnixDisplayNull');
- addLast:((CMakeAddLibrary new)
- library: 'vm-display-null'
- type: 'SHARED'
- sources: #('${targetPlatform}/vm-display-null/sqUnixDisplayNull'));
- addLast: ((CMakeIncludeDirectories new)
- dirs: (OrderedCollection
- with: #('${crossDir}/plugins/FilePlugin' '${targetPlatform}/plugins/B3DAcceleratorPlugin' '${crossDir}/plugins/B3DAcceleratorPlugin')));
- addLast:((CMakeSet new) variable: 'LIBRARY_OUTPUT_PATH' quotedValue:'self outputDir fullName');
- addLast:((CMakeListAppend new) list: 'LINKLIBS' elements: (self externalLibs));
- addLast:((CMakeTargetLinkLibraries new) target: 'vm-display-null' items: (OrderedCollection with: '${LINKLIBS}'));
- addLast:((CMakeSetTargetProperties new)
- target: 'vm-display-null'
- propertiesandvalues: (OrderedCollection with: 'PREFIX "" ' with: 'SUFFIX "" ' with: 'LINK_FLAGS ' , (self compilerFlags))).
-
- temp do: [:each | o nextPutAll: (each content); cr].
- self write: (o contents) toFile: 'directories.cmake'.
- (enabledebugmessages)
- ifTrue:[
- templates
- addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
- ].
- templates addLast: ((CMakeInclude new) file: 'directories.cmake').
-
-
- aMaker message: 'addVMDrivers: aMaker'.
- self
- addDriver: 'vm-display-null'
- sources: #(
- '${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- generator: aMaker
- externalLibs: #();
-
- addDriver: 'vm-display-X11'
- sources: #(
- '${targetPlatform}/vm-display-X11/sqUnixX11'
- '${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- generator: aMaker
- externalLibs: (self externalLibs); "#( SM ICE GL X11 nsl dl); "
-
- addDriver: 'vm-sound-ALSA'
- sources: #(
- '${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- generator: aMaker
- externalLibs: #();
-
- addDriver: 'vm-sound-null'
- sources: #(
- '${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- generator: aMaker
- externalLibs: #().
- !
Item was added:
+ ----- Method: SqueakMacintoshConfig>>cmakeWriteDirectoriesDotCmake: (in category 'cmake') -----
+ cmakeWriteDirectoriesDotCmake: aMaker
+ |temp o|
+ "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
+ o := String new writeStream.
+ temp := OrderedCollection new.
+ temp
+ addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
+ addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
+ addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
+ addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
+ addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
+ addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
+ addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
+ addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
+ addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
+ addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
+ addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
+ addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
+ addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
+ temp do: [:each | o nextPutAll: (each content); cr].
+ self write: (o contents) toFile: 'directories.cmake'.
+ (enabledebugmessages)
+ ifTrue:[
+ templates
+ addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
+ ].
+ templates addLast: ((CMakeInclude new) file: 'directories.cmake').
+
+ !
Item was removed:
- ----- Method: SqueakMacintoshConfig>>setDirectories: (in category 'cmake') -----
- setDirectories: aMaker
- |temp o|
- "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
- o := String new writeStream.
- temp := OrderedCollection new.
- temp
- addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
- addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
- addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
- addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
- addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
- addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
- addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
- addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
- addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
- addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
- addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
- addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
- addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
- temp do: [:each | o nextPutAll: (each content); cr].
- self write: (o contents) toFile: 'directories.cmake'.
- (enabledebugmessages)
- ifTrue:[
- templates
- addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
- ].
- templates addLast: ((CMakeInclude new) file: 'directories.cmake').
-
- !
Item was added:
+ ----- Method: SqueakUnixConfig>>cmakeWriteDirectoriesDotCmake: (in category 'cmake') -----
+ cmakeWriteDirectoriesDotCmake: aMaker
+ |temp o|
+ "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
+ o := String new writeStream.
+ temp := OrderedCollection new.
+ temp
+ addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
+ addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
+ addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
+ addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
+ addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
+ addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
+ addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
+ addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
+ addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
+ addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
+ addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
+ addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
+ addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
+ temp do: [:each | o nextPutAll: (each content); cr].
+ self write: (o contents) toFile: 'directories.cmake'.
+ (enabledebugmessages)
+ ifTrue:[
+ templates
+ addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
+ ].
+ templates addLast: ((CMakeInclude new) file: 'directories.cmake').
+
+ !
Item was removed:
- ----- Method: SqueakUnixConfig>>setDirectories: (in category 'cmake') -----
- setDirectories: aMaker
- |temp o|
- "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
- o := String new writeStream.
- temp := OrderedCollection new.
- temp
- addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
- addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
- addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
- addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
- addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
- addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
- addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
- addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
- addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
- addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
- addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
- addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
- addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
- temp do: [:each | o nextPutAll: (each content); cr].
- self write: (o contents) toFile: 'directories.cmake'.
- (enabledebugmessages)
- ifTrue:[
- templates
- addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
- ].
- templates addLast: ((CMakeInclude new) file: 'directories.cmake').
-
- !
Item was added:
+ ----- Method: SqueakWindowsConfig>>cmakeWriteDirectoriesDotCmake: (in category 'cmake') -----
+ cmakeWriteDirectoriesDotCmake: aMaker
+ |temp o|
+ "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
+ o := String new writeStream.
+ temp := OrderedCollection new.
+ temp
+ addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
+ addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
+ addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
+ addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
+ addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
+ addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
+ addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
+ addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
+ addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
+ addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
+ addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
+ addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
+ addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
+ temp do: [:each | o nextPutAll: (each content); cr].
+ self write: (o contents) toFile: 'directories.cmake'.
+ (enabledebugmessages)
+ ifTrue:[
+ templates
+ addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
+ ].
+ templates addLast: ((CMakeInclude new) file: 'directories.cmake').
+
+ !
Item was removed:
- ----- Method: SqueakWindowsConfig>>setDirectories: (in category 'cmake') -----
- setDirectories: aMaker
- |temp o|
- "We could put these inline, but other components include the directories.cmake file. So, we continue that convention"
- o := String new writeStream.
- temp := OrderedCollection new.
- temp
- addLast: ((CMakeSet new) variable: 'topDir' quotedValue: (self topDir fullName));
- addLast: ((CMakeSet new) variable: 'buildDir' quotedValue: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName]));
- addLast: ((CMakeSet new) variable: 'thirdpartyDir' quotedValue: '${buildDir}/thirdParty');
- addLast: ((CMakeSet new) variable: 'platformsDir' quotedValue: (self platformsDir));
- addLast: ((CMakeSet new) variable: 'srcDir' quotedValue: (self srcDir pathName));
- addLast: ((CMakeSet new) variable: 'srcPluginsDir' quotedValue: (pluginsDir ifNil: [ '${srcDir}/plugins' ]));
- addLast: ((CMakeSet new) variable: 'srcVMDir' quotedValue: '${srcDir}/vm');
- addLast: ((CMakeSet new) variable: 'platformName' quotedValue: (self platformName));
- addLast: ((CMakeSet new) variable: 'targetPlatform' quotedValue: '${platformsDir}/${platformName}');
- addLast: ((CMakeSet new) variable: 'crossDir' quotedValue: '${platformsDir}/Cross');
- addLast: ((CMakeSet new) variable: 'platformVMDir' quotedValue: '${targetPlatform}/vm}');
- addLast: ((CMakeSet new) variable: 'outputDir' quotedValue: (self outputDir fullName));
- addLast: ((CMakeSet new) variable: 'externalModulesDir' quotedValue: (self externalModulesDir)).
- temp do: [:each | o nextPutAll: (each content); cr].
- self write: (o contents) toFile: 'directories.cmake'.
- (enabledebugmessages)
- ifTrue:[
- templates
- addLast:((CMakeMessage new) message: (self class name), ' setDirectories: aMaker' )
- ].
- templates addLast: ((CMakeInclude new) file: 'directories.cmake').
-
- !
More information about the Vm-dev
mailing list