Skip to content

Commit 30862ae

Browse files
authored
v1.11 dev (#9)
1 parent 9598595 commit 30862ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1573
-698
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ source/ibt/*
66
build/*
77

88
# Remove conan generated batch file
9+
conan*
10+
deactivate*
911
*.bat

bootstrap/linux/ibt.sh

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,41 +19,48 @@ find_profile_arg() {
1919
done
2020
}
2121

22+
ice_execute() {
23+
24+
# Activate the RUN enviroment
25+
. ./build/tools/conanrun.sh
26+
27+
# Update fastbuild executables so we can run them actually
28+
# I have currently no idea, how I can set them executable from conan
29+
chmod +x $FBUILD_EXE
30+
31+
# Run any moonscript 'script'
32+
lua $MOON_SCRIPT workspace.moon $*
33+
ret_code=$?
34+
35+
# Deactivate the RUN enviroment
36+
. ./build/tools/deactivate_conanrun.sh
37+
38+
if [ $ret_code != 0 ]; then
39+
exit $ret_code
40+
fi
41+
42+
exit 0
43+
}
44+
2245
ice_initialize() {
2346
find_profile_arg $*
2447

2548
cd build/tools
26-
conan install ../../tools --build=missing --profile $conan_profile
49+
conan install ../../tools -of . --build=missing --profile $conan_profile
2750
cd ../..
2851

29-
exit 0
52+
# Continue execution normally
53+
ice_execute $*
3054
}
3155

3256
# Ensure the build dir exists
3357
[ ! -d "build" ] && mkdir -p "build"
3458

3559
[ ! -d "build/tools" ] && mkdir -p "build/tools"
3660

37-
[ ! -f "build/tools/activate.sh" ] && ice_initialize $*
61+
[ ! -f "build/tools/conanrun.sh" ] && ice_initialize $*
3862

3963
[ "$1" = "init" ] && ice_initialize $*
4064

41-
# Activate the enviroment
42-
. ./build/tools/activate.sh
43-
44-
# Update fastbuild executables so we can run them actually
45-
# I have currently no idea, how I can set them executable from conan
46-
chmod +x $FBUILD_EXE
47-
48-
# Run any moonscript 'script'
49-
lua $MOON_SCRIPT workspace.moon $*
50-
ret_code=$?
51-
52-
# Deactivate the enviroment
53-
. ./build/tools/deactivate.sh
54-
55-
if [ $ret_code != 0 ]; then
56-
exit $ret_code
57-
fi
58-
59-
exit 0
65+
# Execute any of the commands given
66+
ice_execute $*

conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
class IceBuildToolsConan(ConanFile):
1313
name = "ice-build-tools"
14-
version = "1.10.4"
14+
version = "1.11.1"
1515
user = "iceshard"
1616
channel = "stable"
1717

scripts/fastbuild/base_globals.bff

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
}
2929

3030
.DefaultGroup = 'Unspecified'
31+
.RequiresAny_EmptyToken = '::EmptyToken::'
3132

3233
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3334
// The following defines are used to allow users project wide configuration changes
@@ -92,4 +93,30 @@
9293

9394
.ConanProfileVariables = {
9495
'ToolchainFrontend'
96+
'ConanCompilerVersion'
97+
}
98+
99+
100+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
101+
// The following script is used to setup the .Environment variable in a more controlled manner
102+
103+
.Environment = { }
104+
105+
#if __WINDOWS__
106+
107+
#import SystemRoot
108+
.Environment + {
109+
"SystemRoot=$SystemRoot$"
110+
"TMP=$SystemRoot$\temp"
111+
}
112+
113+
#endif
114+
115+
ForEach( .Toolchain in .ToolchainList )
116+
{
117+
.ToolchainEnvironment = { }
118+
Using( .Toolchain )
119+
120+
// Merge the environment to the global list
121+
^Environment + { .ToolchainEnvironment }
95122
}

scripts/fastbuild/base_pipelines.bff

Lines changed: 11 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
#include "pipelines/shader_pipelines.bff"
2-
3-
.Task_BuildSources =
4-
[
5-
.Step = 'Build'
6-
.Type = 'Compile'
7-
8-
.AllowUnityBuilds = true
9-
10-
.TaskInputPattern = { '*.cpp', '*.cxx' }
11-
]
1+
#include "pipelines/pipeline_tasks.bff"
2+
#include "pipelines/pipeline_linux.bff"
3+
#include "pipelines/pipeline_shaders_glsl.bff"
124

135
.Task_BuildResources =
146
[
@@ -29,26 +21,6 @@
2921
.CompilerOutputExtension = '.res'
3022
]
3123

32-
.Task_LinkExecutable =
33-
[
34-
.Step = 'Link'
35-
.Type = 'Link'
36-
]
37-
38-
.Task_TestExecutable =
39-
[
40-
.Step = 'Test'
41-
.Type = 'Test'
42-
43-
.TaskRequires = { 'Debug' }
44-
]
45-
46-
.Task_DeployBinaries =
47-
[
48-
.Step = 'Deploy'
49-
.Type = 'Deploy'
50-
]
51-
5224
.Pipeline_Windows_x64_v142 =
5325
[
5426
.PipelineName = 'x64-v142'
@@ -125,27 +97,6 @@
12597
]
12698

12799

128-
.Pipeline_Linux_x64_gcc12 =
129-
[
130-
.PipelineName = 'x64'
131-
132-
.PipelinePlatform = 'Linux'
133-
.PipelineToolchain = 'gcc-12.0.0'
134-
.PipelineArchitecture = 'x64'
135-
136-
.PipelineAllowUnityBuilds = false
137-
138-
.PipelineSteps = {
139-
'Build'
140-
'Link'
141-
}
142-
143-
.PipelineTasks = {
144-
.Task_BuildSources
145-
.Task_LinkExecutable
146-
}
147-
]
148-
149100
.Pipeline_Android_armv8_clang =
150101
[
151102
.PipelineName = 'Android-arm64'
@@ -162,8 +113,14 @@
162113
'Deploy'
163114
}
164115

116+
.Task_BuildSourcesAndroid =
117+
[
118+
Using( .Task_BuildSources )
119+
.CompilerOutputExtension = '.o'
120+
]
121+
165122
.PipelineTasks = {
166-
.Task_BuildSources
123+
.Task_BuildSourcesAndroid
167124
.Task_LinkExecutable
168125
.Task_DeployBinaries
169126
}
@@ -207,7 +164,7 @@
207164
// Default pipelines
208165
.Pipeline_Windows_x64 = .Pipeline_Windows_x64_v143
209166
.Pipeline_Windows_UWP = .Pipeline_Windows_UWP_v143
210-
.Pipeline_Linux_x64 = .Pipeline_Linux_x64_gcc12
167+
.Pipeline_Linux_x64 = .Pipeline_Linux_x64_clang
211168
.Piepline_Android_ARM64 = .Pipeline_Android_armv8_clang
212169
.Piepline_WebAsm = .Piepline_WebAsm_clang
213170

scripts/fastbuild/compilers/clang.bff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
.FrontendProperties =
4848
[
4949
.CompilerOptions + ' -c "%1" -o "%2" -g'
50-
.LinkerOptions + ' %1 -o "%2"'
50+
.LinkerOptions + ' -Wl,--start-group %1 -Wl,--end-group -o "%2"'
5151
.LibrarianOptions + 'rcs "%2" %1'
5252
]
5353
]

scripts/fastbuild/definition_configurations.bff

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ ForEach( .Pipeline in .BuildPipelines )
315315
[
316316
.PipelineTags = { }
317317
.PipelineConanProfile = ''
318+
.PipelineDynamicRequirements = { }
318319
Using( .Pipeline )
319320

320321
// Temporaries

scripts/fastbuild/definition_project.bff

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ ForEach( .Project in .Projects )
1212

1313
.Tags = { }
1414
.Requires = { }
15+
.RequiresAny = { .RequiresAny_EmptyToken }
1516

1617
// Miscelaneous
1718
.AllowUnityBuilds = true
@@ -70,6 +71,7 @@ ForEach( .Project in .Projects )
7071

7172
// #TODO (#4): https://github.com/iceshard-engine/ice-build-tools/issues/4
7273
.ProjectRequires = .Requires
74+
.ProjectRequiresAny = .RequiresAny
7375
.ProjectGroup = ^Group
7476
.ProjectDebugDir = .DebugDir
7577
.ProjectAllowUnityBuilds = .AllowUnityBuilds
@@ -109,6 +111,7 @@ ForEach( .Project in .Projects )
109111
[
110112
.RuleName = "$Name$_DefaultRule"
111113
.RuleRequires = { }
114+
.RuleRequiresAny = { .RequiresAny_EmptyToken }
112115
.RuleDependsOn = ^DependsOn
113116
.RuleUnitTests = .UnitTests
114117

@@ -139,6 +142,7 @@ ForEach( .Project in .Projects )
139142
{
140143
.Kind = .Kind_None
141144
.Requires = { }
145+
.RequiresAny = { .RequiresAny_EmptyToken }
142146
.DependsOn = []
143147
.Public = []
144148
.Private = []
@@ -150,6 +154,7 @@ ForEach( .Project in .Projects )
150154
.RuleName = .Name
151155
.RuleKind = .Kind
152156
.RuleRequires = .Requires
157+
.RuleRequiresAny = .RequiresAny
153158
.RuleDependsOn = .DependsOn
154159
.RuleUnitTests = .UnitTests
155160
.RuleDeploy = .Deploy
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
.Pipeline_Linux_x64_clang =
3+
[
4+
.PipelineName = 'x64'
5+
6+
.PipelinePlatform = 'Linux'
7+
.PipelineToolchain = 'clang-14.0.0'
8+
.PipelineArchitecture = 'x64'
9+
10+
.PipelineAllowUnityBuilds = false
11+
12+
.PipelineSteps = {
13+
'Build'
14+
'Link'
15+
'Deploy'
16+
}
17+
18+
.PipelineTasks = {
19+
.Task_BuildSources
20+
.Task_LinkExecutable
21+
.Task_TestExecutable
22+
.Task_DeployBinaries
23+
}
24+
]
File renamed without changes.

0 commit comments

Comments
 (0)