bake-toolkit 2.15.0 → 2.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/documentation/_build/html/_sources/changelog.txt +5 -0
- data/documentation/_build/html/_sources/index.txt +1 -1
- data/documentation/_build/html/_sources/tips_and_tricks/bundle.txt +24 -0
- data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +1 -0
- data/documentation/_build/html/changelog.html +10 -3
- data/documentation/_build/html/commandline/commandline.html +3 -3
- data/documentation/_build/html/concepts/build_hierarchy.html +3 -3
- data/documentation/_build/html/concepts/concepts.html +3 -3
- data/documentation/_build/html/concepts/the_main_project.html +3 -3
- data/documentation/_build/html/concepts/the_project_meta_file.html +3 -3
- data/documentation/_build/html/genindex.html +3 -3
- data/documentation/_build/html/ide/eclipse/eclipse.html +3 -3
- data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +3 -3
- data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +3 -3
- data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +3 -3
- data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +3 -3
- data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +3 -3
- data/documentation/_build/html/ide/ide_integrations.html +3 -3
- data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +3 -3
- data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +3 -3
- data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +3 -3
- data/documentation/_build/html/ide/vs/vs.html +3 -3
- data/documentation/_build/html/ide/vs/vs_install.html +3 -3
- data/documentation/_build/html/index.html +7 -6
- data/documentation/_build/html/install/install_bake.html +3 -3
- data/documentation/_build/html/internal.html +3 -3
- data/documentation/_build/html/known_issues.html +3 -3
- data/documentation/_build/html/license.html +3 -3
- data/documentation/_build/html/performance/performance.html +5 -5
- data/documentation/_build/html/quickstart/quickstart.html +3 -3
- data/documentation/_build/html/search.html +3 -3
- data/documentation/_build/html/searchindex.js +1 -1
- data/documentation/_build/html/syntax/adapt_configs.html +3 -3
- data/documentation/_build/html/syntax/derive_configs.html +3 -3
- data/documentation/_build/html/syntax/project_meta_syntax.html +3 -3
- data/documentation/_build/html/syntax/syntax.html +3 -3
- data/documentation/_build/html/syntax/variable_substitutions.html +3 -3
- data/documentation/_build/html/tips_and_tricks/bundle.html +181 -0
- data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +3 -3
- data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +3 -3
- data/documentation/_build/html/tips_and_tricks/the_bakery.html +3 -3
- data/documentation/_build/html/tips_and_tricks/the_clang.html +5 -5
- data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +4 -3
- data/documentation/_build/html/why_bake/why_bake.html +5 -5
- data/lib/bake/bundle.rb +159 -0
- data/lib/bake/mergeConfig.rb +5 -5
- data/lib/bake/model/loader.rb +36 -24
- data/lib/bake/options/options.rb +12 -2
- data/lib/bake/options/usage.rb +2 -1
- data/lib/blocks/blockBase.rb +7 -1
- data/lib/blocks/compile.rb +17 -16
- data/lib/blocks/executable.rb +16 -12
- data/lib/blocks/library.rb +13 -9
- data/lib/common/ext/rtext.rb +11 -0
- data/lib/common/version.rb +1 -1
- metadata +6 -2
data/lib/bake/bundle.rb
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'common/ext/rtext'
|
3
|
+
|
4
|
+
|
5
|
+
module Bake
|
6
|
+
|
7
|
+
class Bundle
|
8
|
+
|
9
|
+
def initialize()
|
10
|
+
cleanup()
|
11
|
+
end
|
12
|
+
|
13
|
+
def cleanup
|
14
|
+
@outputDir = nil
|
15
|
+
@result = true
|
16
|
+
@sources = []
|
17
|
+
@libs = []
|
18
|
+
@ls = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.instance
|
22
|
+
@@bundle ||= Bundle.new
|
23
|
+
end
|
24
|
+
|
25
|
+
def setOutputDir(dir)
|
26
|
+
@outputDir = dir
|
27
|
+
FileUtils.mkdir_p(@outputDir)
|
28
|
+
end
|
29
|
+
|
30
|
+
def addLib(lib, mainConfig)
|
31
|
+
return unless @outputDir
|
32
|
+
dir = @outputDir+"/lib"
|
33
|
+
FileUtils.mkdir_p(dir)
|
34
|
+
FileUtils.cp(lib, dir)
|
35
|
+
@libs << "lib/" + File.basename(lib) unless mainConfig
|
36
|
+
createProjectMeta(mainConfig)
|
37
|
+
end
|
38
|
+
|
39
|
+
def addBinary(exe, ls, mainConfig)
|
40
|
+
return unless @outputDir
|
41
|
+
|
42
|
+
dir = @outputDir+"/bin"
|
43
|
+
FileUtils.mkdir_p(dir)
|
44
|
+
FileUtils.cp(exe, dir)
|
45
|
+
|
46
|
+
if (ls and mainConfig)
|
47
|
+
lsDir = @outputDir+"/ls"
|
48
|
+
FileUtils.mkdir_p(lsDir)
|
49
|
+
FileUtils.cp(ls, lsDir)
|
50
|
+
@ls = "ls/" + File.basename(ls)
|
51
|
+
end
|
52
|
+
|
53
|
+
createProjectMeta(mainConfig)
|
54
|
+
end
|
55
|
+
|
56
|
+
def addSource(source, includeList, depFilename)
|
57
|
+
return unless @outputDir
|
58
|
+
if File.is_absolute?(source)
|
59
|
+
Bake.formatter.printWarning("Warning: '#{source}' is an absolute filename, this is not supported by bundle feature. File will be ignored.")
|
60
|
+
return
|
61
|
+
end
|
62
|
+
sdir = File.dirname(source)
|
63
|
+
dir = @outputDir
|
64
|
+
dir = dir + "/" + sdir unless sdir.empty?
|
65
|
+
FileUtils.mkdir_p(dir)
|
66
|
+
FileUtils.cp(source, dir)
|
67
|
+
@sources << source
|
68
|
+
|
69
|
+
addHeaders(makeAbsolute(includeList), parseDepFile(depFilename))
|
70
|
+
end
|
71
|
+
|
72
|
+
def addHeaders(absIncs, deps)
|
73
|
+
deps.each do |d|
|
74
|
+
absIncs.each do |a|
|
75
|
+
if d.start_with?a
|
76
|
+
filename = d[a.length+1..-1]
|
77
|
+
hdir = File.dirname(filename)
|
78
|
+
dir = @outputDir + "/inc"
|
79
|
+
dir = dir + "/" + hdir unless hdir.empty?
|
80
|
+
FileUtils.mkdir_p(dir)
|
81
|
+
FileUtils.cp(d, dir)
|
82
|
+
next
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def makeAbsolute(includeList)
|
89
|
+
includeList.map { |x| File.expand_path(x) }
|
90
|
+
end
|
91
|
+
|
92
|
+
def parseDepFile(depFilename)
|
93
|
+
res = []
|
94
|
+
begin
|
95
|
+
File.readlines(depFilename).map{|line| line.strip}.each do |dep|
|
96
|
+
if File.exist?(dep)
|
97
|
+
res << File.expand_path(dep)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
rescue Exception => ex
|
101
|
+
end
|
102
|
+
res
|
103
|
+
end
|
104
|
+
|
105
|
+
def createProjectMeta(mainConfig)
|
106
|
+
return unless mainConfig
|
107
|
+
|
108
|
+
project = Bake::Metamodel::Project.new
|
109
|
+
project.setDefault("bundle")
|
110
|
+
project.file_name = ""
|
111
|
+
|
112
|
+
config = mainConfig.class.new
|
113
|
+
config.setName("bundle")
|
114
|
+
|
115
|
+
project.setConfig([config])
|
116
|
+
|
117
|
+
sourceElements = @sources.map do |s|
|
118
|
+
source = Bake::Metamodel::Files.new
|
119
|
+
source.setName(s)
|
120
|
+
source
|
121
|
+
end
|
122
|
+
config.setFiles(sourceElements)
|
123
|
+
|
124
|
+
idir = Bake::Metamodel::IncludeDir.new
|
125
|
+
idir.setName("inc")
|
126
|
+
config.setIncludeDir([idir])
|
127
|
+
|
128
|
+
exLibs = @libs.map do |s|
|
129
|
+
lib = Bake::Metamodel::ExternalLibrary.new
|
130
|
+
lib.setName(s)
|
131
|
+
lib.setSearch(false)
|
132
|
+
lib
|
133
|
+
end
|
134
|
+
config.setLibStuff(exLibs)
|
135
|
+
|
136
|
+
if (mainConfig.toolchain)
|
137
|
+
config.setToolchain(Bake::MergeConfig.clone(mainConfig.toolchain))
|
138
|
+
end
|
139
|
+
|
140
|
+
if (mainConfig.defaultToolchain)
|
141
|
+
config.setDefaultToolchain(Bake::MergeConfig.clone(mainConfig.defaultToolchain))
|
142
|
+
end
|
143
|
+
|
144
|
+
if (@ls)
|
145
|
+
ls = Bake::Metamodel::LinkerScript.new
|
146
|
+
ls.setName(@ls)
|
147
|
+
config.setLinkerScript(ls)
|
148
|
+
end
|
149
|
+
|
150
|
+
s = StringIO.new
|
151
|
+
ser = RText::Serializer.new(Language)
|
152
|
+
ser.serialize(project, s)
|
153
|
+
File.write(@outputDir + "/Project.meta", s.string)
|
154
|
+
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
data/lib/bake/mergeConfig.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'rtext
|
1
|
+
require 'common/ext/rtext'
|
2
2
|
|
3
3
|
module Bake
|
4
4
|
|
@@ -9,7 +9,7 @@ module Bake
|
|
9
9
|
@parent = parent
|
10
10
|
end
|
11
11
|
|
12
|
-
def clone(obj)
|
12
|
+
def self.clone(obj)
|
13
13
|
if obj.is_a?(Metamodel::ModelElement)
|
14
14
|
cloneModelElement(obj)
|
15
15
|
elsif Array === obj
|
@@ -19,7 +19,7 @@ module Bake
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
def cloneModelElement(obj)
|
22
|
+
def self.cloneModelElement(obj)
|
23
23
|
cpy = obj.class.new
|
24
24
|
cpy.file_name = obj.file_name
|
25
25
|
obj.class.ecore.eAllStructuralFeatures.each do |f|
|
@@ -184,11 +184,11 @@ module Bake
|
|
184
184
|
elsif (type == :replace)
|
185
185
|
replace
|
186
186
|
elsif (type == :extend)
|
187
|
-
c = clone(@child)
|
187
|
+
c = MergeConfig.clone(@child)
|
188
188
|
extend(c, @parent)
|
189
189
|
copyChildToParent(c, @parent)
|
190
190
|
elsif (type == :merge)
|
191
|
-
extend(@child, clone(@parent))
|
191
|
+
extend(@child, MergeConfig.clone(@parent))
|
192
192
|
end
|
193
193
|
|
194
194
|
if Bake.options.debug
|
data/lib/bake/model/loader.rb
CHANGED
@@ -28,20 +28,8 @@ module Bake
|
|
28
28
|
@model = RGen::Fragment::FragmentedModel.new(:env => @env)
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
|
33
|
-
|
34
|
-
if Bake.options.nocache
|
35
|
-
def @DumpFileCache.load(fragment)
|
36
|
-
:invalid
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
if not File.exists?filename
|
41
|
-
Bake.formatter.printError("Error: #{filename} does not exist")
|
42
|
-
ExitHelper.exit(1)
|
43
|
-
end
|
44
|
-
|
31
|
+
def load_internal(filename, silent = false)
|
32
|
+
silent = false if Bake.options.debug
|
45
33
|
loader = RText::DefaultLoader.new(
|
46
34
|
Bake::Language,
|
47
35
|
@model,
|
@@ -51,36 +39,60 @@ module Bake
|
|
51
39
|
case kind
|
52
40
|
when :load_update_cache
|
53
41
|
if Bake.options.verbose >= 3
|
54
|
-
puts "Loading and caching #{fragment.location}"
|
42
|
+
puts "Loading and caching #{fragment.location}" unless silent
|
55
43
|
else
|
56
|
-
puts "Loading #{fragment.location}"
|
44
|
+
puts "Loading #{fragment.location}" unless silent
|
57
45
|
end
|
58
46
|
when :load_cached
|
59
47
|
if Bake.options.verbose >= 3
|
60
|
-
puts "Loading cached #{fragment.location}"
|
48
|
+
puts "Loading cached #{fragment.location}" unless silent
|
61
49
|
else
|
62
|
-
puts "Loading #{fragment.location}"
|
50
|
+
puts "Loading #{fragment.location}" unless silent
|
63
51
|
end
|
64
52
|
when :load
|
65
|
-
puts "Loading #{fragment.location}"
|
53
|
+
puts "Loading #{fragment.location}" unless silent
|
66
54
|
else
|
67
55
|
Bake.formatter.printError("Error: Could not load #{fragment.location}")
|
68
56
|
ExitHelper.exit(1)
|
69
57
|
end
|
70
58
|
})
|
71
59
|
|
72
|
-
|
73
|
-
@model.remove_fragment(
|
60
|
+
frag = @model.fragments[0]
|
61
|
+
@model.remove_fragment(frag)
|
62
|
+
frag
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
def load(filename)
|
67
|
+
sumErrors = 0
|
68
|
+
|
69
|
+
if not File.exists?filename
|
70
|
+
Bake.formatter.printError("Error: #{filename} does not exist")
|
71
|
+
ExitHelper.exit(1)
|
72
|
+
end
|
73
|
+
|
74
|
+
frag = nil
|
75
|
+
if not Bake.options.nocache
|
76
|
+
frag = load_internal(filename) # regular load
|
77
|
+
frag = nil if frag.root_elements.length > 0 and filename != frag.root_elements[0].file_name
|
78
|
+
end
|
79
|
+
|
80
|
+
if frag.nil?
|
81
|
+
def @DumpFileCache.load(fragment)
|
82
|
+
:invalid
|
83
|
+
end
|
84
|
+
frag = load_internal(filename, !Bake.options.nocache)
|
85
|
+
end
|
74
86
|
|
75
|
-
|
87
|
+
frag.data[:problems].each do |p|
|
76
88
|
Bake.formatter.printError(p.message, p.file, p.line)
|
77
89
|
end
|
78
90
|
|
79
|
-
if
|
91
|
+
if frag.data[:problems].length > 0
|
80
92
|
ExitHelper.exit(1)
|
81
93
|
end
|
82
94
|
|
83
|
-
return
|
95
|
+
return frag
|
84
96
|
|
85
97
|
end
|
86
98
|
|
data/lib/bake/options/options.rb
CHANGED
@@ -6,6 +6,7 @@ require 'bake/options/showLicense'
|
|
6
6
|
require 'bake/options/showDoc'
|
7
7
|
require 'bake/options/usage'
|
8
8
|
require 'bake/options/create'
|
9
|
+
require 'bake/bundle'
|
9
10
|
|
10
11
|
module Bake
|
11
12
|
|
@@ -18,7 +19,7 @@ module Bake
|
|
18
19
|
|
19
20
|
class Options < Parser
|
20
21
|
attr_accessor :build_config, :nocache, :analyze, :eclipseOrder, :envToolchain
|
21
|
-
attr_reader :main_dir, :project, :filename, :main_project_name, :cc2j_filename # String
|
22
|
+
attr_reader :main_dir, :project, :filename, :main_project_name, :cc2j_filename, :bundleDir # String
|
22
23
|
attr_reader :roots, :include_filter, :exclude_filter, :adapt # String List
|
23
24
|
attr_reader :conversion_info, :stopOnFirstError, :clean, :rebuild, :show_includes, :show_includes_and_defines, :linkOnly, :no_autodir, :clobber, :lint, :docu, :debug, :prepro # Boolean
|
24
25
|
attr_reader :threads, :socket, :lint_min, :lint_max # Fixnum
|
@@ -67,6 +68,7 @@ module Bake
|
|
67
68
|
@def_roots = []
|
68
69
|
@main_project_name = ""
|
69
70
|
@adapt = []
|
71
|
+
@bundleDir = nil
|
70
72
|
|
71
73
|
add_option(["-b", "" ], lambda { |x| set_build_config(x) })
|
72
74
|
add_option(["-m" ], lambda { |x| set_main_dir(x) })
|
@@ -101,13 +103,14 @@ module Bake
|
|
101
103
|
|
102
104
|
add_option(["--clobber" ], lambda { @clobber = true; @clean = true })
|
103
105
|
add_option(["--ignore-cache", "--ignore_cache" ], lambda { @nocache = true })
|
104
|
-
add_option(["--threads"
|
106
|
+
add_option(["-j", "--threads" ], lambda { |x| set_threads(x) })
|
105
107
|
add_option(["--socket" ], lambda { |x| @socket = String === x ? x.to_i : x })
|
106
108
|
add_option(["--toolchain-info", "--toolchain_info" ], lambda { |x| ToolchainInfo.showToolchain(x) })
|
107
109
|
add_option(["--toolchain-names", "--toolchain_names" ], lambda { ToolchainInfo.showToolchainList })
|
108
110
|
add_option(["--do", "--include_filter" ], lambda { |x| @include_filter << x })
|
109
111
|
add_option(["--omit", "--exclude_filter" ], lambda { |x| @exclude_filter << x })
|
110
112
|
add_option(["--abs-paths", "--show_abs_paths" ], lambda { @consoleOutput_fullnames = true })
|
113
|
+
add_option(["--bundle" ], lambda { |x| set_bundle_dir(x) })
|
111
114
|
|
112
115
|
add_option(["-h", "--help" ], lambda { Bake::Usage.show })
|
113
116
|
|
@@ -128,6 +131,7 @@ module Bake
|
|
128
131
|
end
|
129
132
|
|
130
133
|
def parse_options()
|
134
|
+
Bake::Bundle.instance.cleanup()
|
131
135
|
parse_internal(false)
|
132
136
|
set_main_dir(Dir.pwd) if @main_dir.nil?
|
133
137
|
@roots = @def_roots if @roots.length == 0
|
@@ -232,6 +236,12 @@ module Bake
|
|
232
236
|
@def_roots = calc_def_roots(@main_dir)
|
233
237
|
end
|
234
238
|
|
239
|
+
def set_bundle_dir(dir)
|
240
|
+
d = File.expand_path(dir.gsub(/[\\]/,'/'))
|
241
|
+
Bake::Bundle.instance.setOutputDir(d)
|
242
|
+
end
|
243
|
+
|
244
|
+
|
235
245
|
def set_root(dir)
|
236
246
|
check_valid_dir(dir)
|
237
247
|
r = File.expand_path(dir.gsub(/[\\]/,'/'))
|
data/lib/bake/options/usage.rb
CHANGED
@@ -26,7 +26,7 @@ module Bake
|
|
26
26
|
puts " to specify only a part of the file list to lint (default -1)."
|
27
27
|
puts " --lint-max <num> See above (default -1)."
|
28
28
|
puts " --ignore-cache Rereads the original meta files - usefull if workspace structure has been changed."
|
29
|
-
puts "
|
29
|
+
puts " -j <num> Set NUMBER of parallel compiled files (default is 8)."
|
30
30
|
puts " --socket <num> Set SOCKET for sending errors, receiving commands, etc. - used by e.g. Eclipse."
|
31
31
|
puts " --toolchain-info <name> Prints default values of a toolchain."
|
32
32
|
puts " --toolchain-names Prints available toolchains."
|
@@ -40,6 +40,7 @@ module Bake
|
|
40
40
|
puts " --adapt <name> Specifies an adapt project to manipulate the configs (can be used multiple times)"
|
41
41
|
puts " --incs-and-defs Used by IDEs plugins"
|
42
42
|
puts " --conversion-info Prints infos for an external tool which converts bake configs for other build systems"
|
43
|
+
puts " --bundle <dir> Bundles the output (experimental, description will follow)"
|
43
44
|
puts " --writeCC2J <name> Writes compiler command into a json file (experimental!)"
|
44
45
|
puts " --create exe|lib|custom Creates a project with exe, lib or custom template"
|
45
46
|
puts ""
|
data/lib/blocks/blockBase.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'bake/bundle'
|
2
|
+
|
1
3
|
module Bake
|
2
4
|
module Blocks
|
3
5
|
|
@@ -89,11 +91,15 @@ module Bake
|
|
89
91
|
end
|
90
92
|
end
|
91
93
|
|
94
|
+
def isMainProject?
|
95
|
+
@projectName == Bake.options.main_project_name and @config.name == Bake.options.build_config
|
96
|
+
end
|
97
|
+
|
92
98
|
def calcOutputDir
|
93
99
|
if @tcs[:OUTPUT_DIR] != nil
|
94
100
|
p = @block.convPath(@tcs[:OUTPUT_DIR])
|
95
101
|
@output_dir = p
|
96
|
-
elsif
|
102
|
+
elsif isMainProject?
|
97
103
|
@output_dir = "build_" + Bake.options.build_config
|
98
104
|
else
|
99
105
|
@output_dir = "build_" + @config.name + "_" + Bake.options.main_project_name + "_" + Bake.options.build_config
|
data/lib/blocks/compile.rb
CHANGED
@@ -103,7 +103,7 @@ module Bake
|
|
103
103
|
|
104
104
|
def compileFile(source)
|
105
105
|
type = get_source_type(source)
|
106
|
-
return
|
106
|
+
return if type.nil?
|
107
107
|
|
108
108
|
object = @object_files[source]
|
109
109
|
|
@@ -113,14 +113,12 @@ module Bake
|
|
113
113
|
cmdLineCheck = false
|
114
114
|
cmdLineFile = calcCmdlineFile(object)
|
115
115
|
|
116
|
-
return
|
116
|
+
return if ignore?(type)
|
117
117
|
reason = needed?(source, object, type, dep_filename_conv)
|
118
118
|
if not reason
|
119
119
|
cmdLineCheck = true
|
120
|
-
# currently this returns always != nil
|
121
120
|
reason = config_changed?(cmdLineFile)
|
122
121
|
end
|
123
|
-
return true unless reason
|
124
122
|
|
125
123
|
if @fileTcs.include?(source)
|
126
124
|
compiler = @fileTcs[source][:COMPILER][type]
|
@@ -181,20 +179,23 @@ module Bake
|
|
181
179
|
Blocks::CC2J << { :directory => @projectDir, :command => cmd, :file => source }
|
182
180
|
end
|
183
181
|
|
184
|
-
|
182
|
+
if not (cmdLineCheck and BlockBase.isCmdLineEqual?(cmd, cmdLineFile))
|
183
|
+
BlockBase.prepareOutput(object)
|
184
|
+
BlockBase.writeCmdLineFile(cmd, cmdLineFile)
|
185
|
+
success, consoleOutput = ProcessHelper.run(cmd, false, false)
|
186
|
+
|
187
|
+
outputType = Bake.options.analyze ? "Analyzing" : (Bake.options.prepro ? "Preprocessing" : "Compiling")
|
188
|
+
incList = process_result(cmd, consoleOutput, compiler[:ERROR_PARSER], "#{outputType} #{source}", reason, success)
|
189
|
+
|
190
|
+
if type != :ASM and not Bake.options.analyze and not Bake.options.prepro
|
191
|
+
incList = Compile.read_depfile(dep_filename, @projectDir, @tcs[:COMPILER][:DEP_FILE_SINGLE_LINE]) if incList.nil?
|
192
|
+
Compile.write_depfile(incList, dep_filename_conv)
|
193
|
+
end
|
194
|
+
check_config_file
|
195
|
+
end
|
185
196
|
|
186
|
-
|
187
|
-
BlockBase.writeCmdLineFile(cmd, cmdLineFile)
|
188
|
-
success, consoleOutput = ProcessHelper.run(cmd, false, false)
|
197
|
+
Bake::Bundle.instance.addSource(source, @include_list, dep_filename_conv) if isMainProject?
|
189
198
|
|
190
|
-
outputType = Bake.options.analyze ? "Analyzing" : (Bake.options.prepro ? "Preprocessing" : "Compiling")
|
191
|
-
incList = process_result(cmd, consoleOutput, compiler[:ERROR_PARSER], "#{outputType} #{source}", reason, success)
|
192
|
-
|
193
|
-
if type != :ASM and not Bake.options.analyze and not Bake.options.prepro
|
194
|
-
incList = Compile.read_depfile(dep_filename, @projectDir, @tcs[:COMPILER][:DEP_FILE_SINGLE_LINE]) if incList.nil?
|
195
|
-
Compile.write_depfile(incList, dep_filename_conv)
|
196
|
-
end
|
197
|
-
check_config_file
|
198
199
|
end
|
199
200
|
|
200
201
|
def self.read_depfile(dep_filename, projDir, singeLine)
|