-
Notifications
You must be signed in to change notification settings - Fork 65
/
CogMTBuilder.class.st
92 lines (68 loc) · 1.98 KB
/
CogMTBuilder.class.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Class {
#name : #CogMTBuilder,
#superclass : #Object,
#category : #'CMakeVMMaker-Builder'
}
{ #category : #building }
CogMTBuilder class >> build [
" self build "
"build for platform we're currently running on"
| platform |
platform := Smalltalk os platformName.
platform = 'Win32' ifTrue: [ ^ self buildWin32 ].
platform = 'Mac OS' ifTrue: [ ^ self buildMacOSX32 ].
platform = 'unix' ifTrue: [ ^ self buildUnix32 ].
]
{ #category : #building }
CogMTBuilder class >> buildMacOSX32 [
^ self new buildMacOSX32
]
{ #category : #building }
CogMTBuilder class >> buildOnJenkins: aPlatformName [
"entry point for jenkins build jobs.
currently we use following names:
win
mac
linux
"
aPlatformName = 'win' ifTrue: [ ^ self buildWin32 ].
aPlatformName = 'mac' ifTrue: [ ^ self buildMacOSX32 ].
aPlatformName = 'linux' ifTrue: [ ^ self buildUnix32 ].
self error: 'no suitable platform'
]
{ #category : #building }
CogMTBuilder class >> buildUnix32 [
^ self new buildUnix32
]
{ #category : #building }
CogMTBuilder class >> buildWin32 [
^ self new buildWin32
]
{ #category : #building }
CogMTBuilder >> buildMacOSX32 [
CogMTCocoaIOSConfig new
generateForRelease;
"generateForDebug;"
addExternalPlugins: #( FT2Plugin );
addInternalPlugins: #( UnixOSProcessPlugin );
generateSources; generate.
]
{ #category : #building }
CogMTBuilder >> buildUnix32 [
CogMTUnixConfig new
addExternalPlugins: #( FT2Plugin SqueakSSLPlugin );
addInternalPlugins: #( UnixOSProcessPlugin );
generateSources; generate.
]
{ #category : #building }
CogMTBuilder >> buildWin32 [
CogMTWindowsConfig new
addExternalPlugins: #( FT2Plugin SqueakSSLPlugin );
addInternalPlugins: #( Win32OSProcessPlugin );
generateSources; generate.
]
{ #category : #initialization }
CogMTBuilder >> initialize [
"a stupid temporary hack to workaround initialization problems"
Cogit allSubclassesDo: [ :each | each initializeWithOptions: (VMMaker new instVarNamed: 'optionsDictionary') ]
]