cxxproject 0.5.76 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/Rakefile.rb +116 -116
  2. data/bin/cxx +10 -10
  3. data/lib/cxxproject/buildingblocks/binary_library.rb +39 -39
  4. data/lib/cxxproject/buildingblocks/building_block.rb +251 -234
  5. data/lib/cxxproject/buildingblocks/command_line.rb +79 -86
  6. data/lib/cxxproject/buildingblocks/custom_building_block.rb +39 -39
  7. data/lib/cxxproject/buildingblocks/executable.rb +246 -258
  8. data/lib/cxxproject/buildingblocks/has_dependencies_mixin.rb +83 -83
  9. data/lib/cxxproject/buildingblocks/has_includes_mixin.rb +20 -20
  10. data/lib/cxxproject/buildingblocks/has_libraries_mixin.rb +34 -34
  11. data/lib/cxxproject/buildingblocks/has_sources_mixin.rb +371 -379
  12. data/lib/cxxproject/buildingblocks/makefile.rb +153 -153
  13. data/lib/cxxproject/buildingblocks/module.rb +35 -35
  14. data/lib/cxxproject/buildingblocks/single_source.rb +33 -33
  15. data/lib/cxxproject/buildingblocks/source_library.rb +124 -111
  16. data/lib/cxxproject/errorparser/diab_compiler_error_parser.rb +40 -40
  17. data/lib/cxxproject/errorparser/diab_linker_error_parser.rb +41 -41
  18. data/lib/cxxproject/errorparser/error_parser.rb +50 -71
  19. data/lib/cxxproject/errorparser/gcc_compiler_error_parser.rb +35 -35
  20. data/lib/cxxproject/errorparser/gcc_linker_error_parser.rb +35 -35
  21. data/lib/cxxproject/errorparser/ti_compiler_error_parser.rb +30 -30
  22. data/lib/cxxproject/errorparser/ti_linker_error_parser.rb +30 -30
  23. data/lib/cxxproject/eval_context.rb +144 -144
  24. data/lib/cxxproject/ext/file.rb +71 -81
  25. data/lib/cxxproject/ext/filelist.rb +6 -6
  26. data/lib/cxxproject/ext/progressbar.rb +20 -0
  27. data/lib/cxxproject/ext/rake.rb +419 -434
  28. data/lib/cxxproject/ext/rake_dirty.rb +30 -30
  29. data/lib/cxxproject/ext/rake_listener.rb +59 -59
  30. data/lib/cxxproject/ext/stdout.rb +44 -44
  31. data/lib/cxxproject/ext/string.rb +9 -9
  32. data/lib/cxxproject/ide_interface.rb +187 -189
  33. data/lib/cxxproject/toolchain/clang.rb +39 -43
  34. data/lib/cxxproject/toolchain/colorizing_formatter.rb +99 -99
  35. data/lib/cxxproject/toolchain/diab.rb +1 -1
  36. data/lib/cxxproject/toolchain/gcc.rb +1 -1
  37. data/lib/cxxproject/toolchain/provider.rb +131 -143
  38. data/lib/cxxproject/toolchain/toolchain.rb +38 -38
  39. data/lib/cxxproject/toolchain/toolchain_benchmark.rb +23 -23
  40. data/lib/cxxproject/torake.rb +259 -218
  41. data/lib/cxxproject/utils/cleanup.rb +20 -24
  42. data/lib/cxxproject/utils/console.rb +6 -6
  43. data/lib/cxxproject/utils/exit_helper.rb +40 -40
  44. data/lib/cxxproject/utils/graphstream.rb +154 -154
  45. data/lib/cxxproject/utils/optional.rb +16 -16
  46. data/lib/cxxproject/utils/printer.rb +50 -50
  47. data/lib/cxxproject/utils/process.rb +52 -58
  48. data/lib/cxxproject/utils/progress.rb +66 -0
  49. data/lib/cxxproject/utils/progress_helper.rb +77 -0
  50. data/lib/cxxproject/utils/rbcurse.rb +284 -0
  51. data/lib/cxxproject/utils/rbcurse_executable_ext.rb +14 -0
  52. data/lib/cxxproject/utils/rbcurse_progress.rb +71 -0
  53. data/lib/cxxproject/utils/rbcurse_tasktable.rb +51 -0
  54. data/lib/cxxproject/utils/stats.rb +60 -60
  55. data/lib/cxxproject/utils/ubigraph.rb +228 -228
  56. data/lib/cxxproject/utils/utils.rb +37 -69
  57. data/lib/cxxproject/version.rb +7 -7
  58. data/lib/cxxproject.rb +23 -19
  59. data/lib/tools/Rakefile.rb.template +10 -10
  60. data/lib/tools/project.rb.template +6 -6
  61. data/lib/tools/project_wizard.rb +66 -66
  62. data/spec/building_block_spec.rb +56 -56
  63. data/spec/cxxproject_2_rake_spec.rb +186 -186
  64. data/spec/file_ext_spec.rb +30 -30
  65. data/spec/ide_interface_spec.rb +41 -41
  66. data/spec/object_dependency_spec.rb +83 -83
  67. data/spec/project_path_spec.rb +71 -71
  68. data/spec/rake_listener_ext_spec.rb +58 -58
  69. data/spec/spec_helper.rb +18 -18
  70. data/spec/string_spec.rb +11 -11
  71. data/spec/testdata/basic/exe12/project.rb +5 -5
  72. data/spec/testdata/basic/lib1/project.rb +5 -5
  73. data/spec/testdata/basic/lib2/project.rb +8 -8
  74. data/spec/testdata/multiple_levels/libs/lib1/project.rb +5 -5
  75. data/spec/testdata/multiple_levels/libs/lib2/project.rb +19 -19
  76. data/spec/testdata/multiple_levels/mainproject/basic/project.rb +8 -8
  77. data/spec/testdata/onlyOneHeader/Rakefile.rb +4 -4
  78. data/spec/testdata/onlyOneHeader/project.rb +4 -4
  79. data/spec/toolchain_spec.rb +29 -29
  80. metadata +116 -107
  81. checksums.yaml +0 -7
  82. data/lib/cxxproject/buildingblocks/lint.rb +0 -89
  83. data/lib/cxxproject/errorparser/gcc_lint_error_parser.rb +0 -34
  84. data/lib/cxxproject/errorparser/greenhills_compiler_error_parser.rb +0 -32
  85. data/lib/cxxproject/errorparser/greenhills_linker_error_parser.rb +0 -44
  86. data/lib/cxxproject/errorparser/keil_compiler_error_parser.rb +0 -40
  87. data/lib/cxxproject/errorparser/keil_linker_error_parser.rb +0 -30
  88. data/lib/cxxproject/toolchain/gcc_lint.rb +0 -21
  89. data/lib/cxxproject/toolchain/gcc_param.rb +0 -7
  90. data/lib/cxxproject/toolchain/greenhills.rb +0 -51
  91. data/lib/cxxproject/toolchain/keil.rb +0 -52
  92. data/lib/cxxproject/utils/valgrind.rb +0 -11
@@ -1,228 +1,228 @@
1
- module Cxxproject
2
- define_ubigraph = lambda do
3
- require 'rubigraph'
4
-
5
- module Rubigraph
6
- class Vertex
7
- alias_method :initialize_original, :initialize
8
- def initialize(id = nil)
9
- if id != nil
10
- @id = id
11
- else
12
- initialize_original
13
- end
14
- end
15
- end
16
- end
17
-
18
- class IdsAndEdges
19
- attr_reader :ids, :edges
20
- def initialize
21
- @ids = Hash.new
22
- @edges = Hash.new
23
- end
24
- end
25
-
26
- class V
27
-
28
- def self.shutdown
29
- File.open('id_cache', 'w') do |f|
30
- f.write(@@ids_and_edges.to_yaml)
31
- end
32
- end
33
-
34
- def self.reset
35
- begin
36
- File.delete('id_cache')
37
- rescue StandardError => e
38
- puts e
39
- puts 'problem deleting id_cache'
40
- end
41
- @@ids_and_edges = IdsAndEdges.new
42
- end
43
-
44
- def self.startup
45
- begin
46
- @@ids_and_edges = YAML.load_file('id_cache')
47
- rescue
48
- @@ids_and_edges = IdsAndEdges.new
49
- end
50
- end
51
-
52
- attr_reader :v
53
-
54
- def initialize(name)
55
- h = @@ids_and_edges.ids
56
- id = h[name]
57
- if !id
58
- @v = Rubigraph::Vertex.new
59
- @@ids_and_edges.ids()[name] = @v.id
60
- else
61
- @v = Rubigraph::Vertex.new(id)
62
- end
63
- end
64
- def self.create_edge(edge_and_task1, edge_and_task2)
65
- complete_name = "#{edge_and_task1[:task].name}->#{edge_and_task2[:task].name}"
66
- if @@ids_and_edges.edges.has_key?(complete_name)
67
- return nil
68
- else
69
- e = Rubigraph::Edge.new(edge_and_task1[:vertex].v, edge_and_task2[:vertex].v)
70
- @@ids_and_edges.edges[complete_name] = true
71
- return e
72
- end
73
- end
74
- end
75
-
76
- class UbiGraphSupport
77
-
78
- def object?(name)
79
- name.match(/.*\.o\Z/) != nil
80
- end
81
-
82
- def exe?(name)
83
- name.match(/.*\.exe\Z/) != nil
84
- end
85
- def library?(name)
86
- name.match(/.*\.a\Z/) != nil
87
- end
88
- def multitask?(name)
89
- name.index("Sources") == 0
90
- end
91
- def interesting?(name)
92
- exe?(name) || object?(name) || library?(name) || multitask?(name)
93
- end
94
- def create_vertices
95
- @vertices = {}
96
- @interesting_tasks.each do |task|
97
- v = V.new(task.name)
98
- @vertices[task.name] = {:vertex=>v, :task=>task}
99
- end
100
- end
101
- def create_edges
102
- @interesting_tasks.each do |task|
103
- name = task.name
104
- v1 = @vertices[name]
105
- task.prerequisites.each do |p|
106
- v2 = @vertices[p]
107
- if (v2 != nil)
108
- e = V.create_edge(v1, v2)
109
- e.width=2 if e
110
- end
111
- end
112
- end
113
- end
114
- def color_vertices
115
- @vertices.each do |k, value|
116
- v = value[:vertex]
117
- v.v.label = k
118
- set_attributes(v, k)
119
- end
120
- end
121
- def initialize
122
- @interesting_tasks = Rake::Task.tasks.select { |i| interesting?(i.name) }
123
- create_vertices
124
- create_edges
125
- color_vertices
126
- end
127
-
128
- def update_colors
129
- @vertices.each_key do |k|
130
- set_attributes(v, k)
131
- end
132
- end
133
-
134
- def set_attributes(v, name)
135
- v.v.color = state2color(name)
136
- v.v.shape = name2shape(name)
137
- v.v.size = name2size(name)
138
- end
139
-
140
- def name2shape(name)
141
- if object?(name)
142
- return 'cube'
143
- elsif exe?(name)
144
- return 'sphere'
145
- elsif multitask?(name)
146
- return 'torus'
147
- else
148
- return 'octahedron'
149
- end
150
- end
151
- def name2size(name)
152
- if object?(name)
153
- return 0.7
154
- elsif exe?(name)
155
- return 1.2
156
- else
157
- return 1.0
158
- end
159
- end
160
- def state2color(name)
161
- t = @vertices[name][:task]
162
- begin
163
- if t.dirty?
164
- return '#ff0000'
165
- else
166
- return '#00ff00'
167
- end
168
- rescue StandardError => bang
169
- puts bang
170
- return '#ff00ff'
171
- end
172
- end
173
-
174
- def update(name, color)
175
- @vertices[name][:vertex].v.color = color if @vertices[name]
176
- end
177
-
178
- YELLOW = '#ffff00'
179
- def before_prerequisites(name)
180
- update(name, YELLOW)
181
- end
182
-
183
- ORANGE = '#ff7f00'
184
- def after_prerequisites(name)
185
- update(name, ORANGE)
186
- end
187
-
188
- BLUE = '#0000ff'
189
- def before_execute(name)
190
- update(name, BLUE)
191
- end
192
-
193
- GREEN = '#00ff00'
194
- def after_execute(name)
195
- update(name, GREEN)
196
- end
197
- end
198
-
199
- namespace :rubygraph do
200
- task :init do
201
- Rubigraph.init
202
- V.startup
203
- at_exit do
204
- V.shutdown
205
- end
206
- end
207
-
208
- desc 'clear rubygraph'
209
- task :clear => :init do
210
- Rubigraph.clear
211
- V.reset
212
- end
213
-
214
- desc 'update rubygraph'
215
- task :update => :init do
216
- begin
217
- require 'cxxproject/ext/rake_listener'
218
- require 'cxxproject/ext/rake_dirty'
219
- Rake::add_listener(UbiGraphSupport.new)
220
- rescue StandardError => e
221
- puts e
222
- end
223
- end
224
- end
225
- end
226
-
227
- Utils.optional_package(define_ubigraph, nil)
228
- end
1
+ module Cxxproject
2
+ define_ubigraph = lambda do
3
+ require 'rubigraph'
4
+
5
+ module Rubigraph
6
+ class Vertex
7
+ alias_method :initialize_original, :initialize
8
+ def initialize(id = nil)
9
+ if id != nil
10
+ @id = id
11
+ else
12
+ initialize_original
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ class IdsAndEdges
19
+ attr_reader :ids, :edges
20
+ def initialize
21
+ @ids = Hash.new
22
+ @edges = Hash.new
23
+ end
24
+ end
25
+
26
+ class V
27
+
28
+ def self.shutdown
29
+ File.open('id_cache', 'w') do |f|
30
+ f.write(@@ids_and_edges.to_yaml)
31
+ end
32
+ end
33
+
34
+ def self.reset
35
+ begin
36
+ File.delete('id_cache')
37
+ rescue StandardError => e
38
+ puts e
39
+ puts 'problem deleting id_cache'
40
+ end
41
+ @@ids_and_edges = IdsAndEdges.new
42
+ end
43
+
44
+ def self.startup
45
+ begin
46
+ @@ids_and_edges = YAML.load_file('id_cache')
47
+ rescue
48
+ @@ids_and_edges = IdsAndEdges.new
49
+ end
50
+ end
51
+
52
+ attr_reader :v
53
+
54
+ def initialize(name)
55
+ h = @@ids_and_edges.ids
56
+ id = h[name]
57
+ if !id
58
+ @v = Rubigraph::Vertex.new
59
+ @@ids_and_edges.ids()[name] = @v.id
60
+ else
61
+ @v = Rubigraph::Vertex.new(id)
62
+ end
63
+ end
64
+ def self.create_edge(edge_and_task1, edge_and_task2)
65
+ complete_name = "#{edge_and_task1[:task].name}->#{edge_and_task2[:task].name}"
66
+ if @@ids_and_edges.edges.has_key?(complete_name)
67
+ return nil
68
+ else
69
+ e = Rubigraph::Edge.new(edge_and_task1[:vertex].v, edge_and_task2[:vertex].v)
70
+ @@ids_and_edges.edges[complete_name] = true
71
+ return e
72
+ end
73
+ end
74
+ end
75
+
76
+ class UbiGraphSupport
77
+
78
+ def object?(name)
79
+ name.match(/.*\.o\Z/) != nil
80
+ end
81
+
82
+ def exe?(name)
83
+ name.match(/.*\.exe\Z/) != nil
84
+ end
85
+ def library?(name)
86
+ name.match(/.*\.a\Z/) != nil
87
+ end
88
+ def multitask?(name)
89
+ name.index("Sources") == 0
90
+ end
91
+ def interesting?(name)
92
+ exe?(name) || object?(name) || library?(name) || multitask?(name)
93
+ end
94
+ def create_vertices
95
+ @vertices = {}
96
+ @interesting_tasks.each do |task|
97
+ v = V.new(task.name)
98
+ @vertices[task.name] = {:vertex=>v, :task=>task}
99
+ end
100
+ end
101
+ def create_edges
102
+ @interesting_tasks.each do |task|
103
+ name = task.name
104
+ v1 = @vertices[name]
105
+ task.prerequisites.each do |p|
106
+ v2 = @vertices[p]
107
+ if (v2 != nil)
108
+ e = V.create_edge(v1, v2)
109
+ e.width=2 if e
110
+ end
111
+ end
112
+ end
113
+ end
114
+ def color_vertices
115
+ @vertices.each do |k, value|
116
+ v = value[:vertex]
117
+ v.v.label = k
118
+ set_attributes(v, k)
119
+ end
120
+ end
121
+ def initialize
122
+ @interesting_tasks = Rake::Task.tasks.select { |i| interesting?(i.name) }
123
+ create_vertices
124
+ create_edges
125
+ color_vertices
126
+ end
127
+
128
+ def update_colors
129
+ @vertices.each_key do |k|
130
+ set_attributes(v, k)
131
+ end
132
+ end
133
+
134
+ def set_attributes(v, name)
135
+ v.v.color = state2color(name)
136
+ v.v.shape = name2shape(name)
137
+ v.v.size = name2size(name)
138
+ end
139
+
140
+ def name2shape(name)
141
+ if object?(name)
142
+ return 'cube'
143
+ elsif exe?(name)
144
+ return 'sphere'
145
+ elsif multitask?(name)
146
+ return 'torus'
147
+ else
148
+ return 'octahedron'
149
+ end
150
+ end
151
+ def name2size(name)
152
+ if object?(name)
153
+ return 0.7
154
+ elsif exe?(name)
155
+ return 1.2
156
+ else
157
+ return 1.0
158
+ end
159
+ end
160
+ def state2color(name)
161
+ t = @vertices[name][:task]
162
+ begin
163
+ if t.dirty?
164
+ return '#ff0000'
165
+ else
166
+ return '#00ff00'
167
+ end
168
+ rescue StandardError => bang
169
+ puts bang
170
+ return '#ff00ff'
171
+ end
172
+ end
173
+
174
+ def update(name, color)
175
+ @vertices[name][:vertex].v.color = color if @vertices[name]
176
+ end
177
+
178
+ YELLOW = '#ffff00'
179
+ def before_prerequisites(name)
180
+ update(name, YELLOW)
181
+ end
182
+
183
+ ORANGE = '#ff7f00'
184
+ def after_prerequisites(name)
185
+ update(name, ORANGE)
186
+ end
187
+
188
+ BLUE = '#0000ff'
189
+ def before_execute(name)
190
+ update(name, BLUE)
191
+ end
192
+
193
+ GREEN = '#00ff00'
194
+ def after_execute(name)
195
+ update(name, GREEN)
196
+ end
197
+ end
198
+
199
+ namespace :rubygraph do
200
+ task :init do
201
+ Rubigraph.init
202
+ V.startup
203
+ at_exit do
204
+ V.shutdown
205
+ end
206
+ end
207
+
208
+ desc 'clear rubygraph'
209
+ task :clear => :init do
210
+ Rubigraph.clear
211
+ V.reset
212
+ end
213
+
214
+ desc 'update rubygraph'
215
+ task :update => :init do
216
+ begin
217
+ require 'cxxproject/ext/rake_listener'
218
+ require 'cxxproject/ext/rake_dirty'
219
+ Rake::add_listener(UbiGraphSupport.new)
220
+ rescue StandardError => e
221
+ puts e
222
+ end
223
+ end
224
+ end
225
+ end
226
+
227
+ Utils.optional_package(define_ubigraph, nil)
228
+ end
@@ -1,69 +1,37 @@
1
- module Cxxproject
2
- module Utils
3
-
4
- def self.flagSplit(str, removeQuotes)
5
- hasQuote = false
6
- hasDoubleQuote = false
7
- hadQuote = false
8
- ar = []
9
- s = ""
10
-
11
- #puts str
12
-
13
- str.split("").each do |i|
14
- hasDoubleQuote = !hasDoubleQuote if !hasQuote and i == '"'
15
- hasQuote = !hasQuote if !hasDoubleQuote and i == '\''
16
- hadQuote = true if hasDoubleQuote
17
- if i == ' '
18
- if not hasDoubleQuote and not hasQuote
19
- if hadQuote and removeQuotes
20
- ar << s[1..-2] if s.length > 2
21
- hadQuote = false
22
- else
23
- ar << s if s.length > 0
24
- end
25
- s = ""
26
- next
27
- end
28
- end
29
- s << i
30
- end
31
- ar << s if s.length > 0
32
- ar
33
- end
34
-
35
- # Simple helper query the operating system we are running in
36
- module OS
37
-
38
- # Is it windows
39
- def OS.windows?
40
- (RUBY_PLATFORM =~ /cygwin|mswin|mingw|bccwin|wince|emx/) != nil
41
- end
42
-
43
- # Is it osx
44
- def OS.mac?
45
- (RUBY_PLATFORM =~ /darwin/) != nil
46
- end
47
-
48
- # Is it kind of unix
49
- def OS.unix?
50
- !OS.windows?
51
- end
52
-
53
- # Is it linux
54
- def OS.linux?
55
- OS.unix? and not OS.mac?
56
- end
57
-
58
- end
59
-
60
- def self.deep_copy(x)
61
- Marshal.load(Marshal.dump(x))
62
- end
63
-
64
- def self.old_ruby?
65
- RUBY_VERSION[0..2] == "1.8"
66
- end
67
-
68
- end
69
- end
1
+ module Cxxproject
2
+ module Utils
3
+ # Simple helper query the operating system we are running in
4
+ module OS
5
+
6
+ # Is it windows
7
+ def OS.windows?
8
+ (RUBY_PLATFORM =~ /cygwin|mswin|mingw|bccwin|wince|emx/) != nil
9
+ end
10
+
11
+ # Is it osx
12
+ def OS.mac?
13
+ (RUBY_PLATFORM =~ /darwin/) != nil
14
+ end
15
+
16
+ # Is it kind of unix
17
+ def OS.unix?
18
+ !OS.windows?
19
+ end
20
+
21
+ # Is it linux
22
+ def OS.linux?
23
+ OS.unix? and not OS.mac?
24
+ end
25
+
26
+ end
27
+
28
+ def self.deep_copy(x)
29
+ Marshal.load(Marshal.dump(x))
30
+ end
31
+
32
+ def self.old_ruby?
33
+ RUBY_VERSION[0..2] == "1.8"
34
+ end
35
+
36
+ end
37
+ end
@@ -1,7 +1,7 @@
1
- module Cxxproject
2
- class Version
3
- def self.cxxproject
4
- "0.5.76"
5
- end
6
- end
7
- end
1
+ module Cxxproject
2
+ class Version
3
+ def self.cxxproject
4
+ "0.6.0"
5
+ end
6
+ end
7
+ end
data/lib/cxxproject.rb CHANGED
@@ -1,19 +1,23 @@
1
- # Just the default file wich is auto-required in the gem and which requires all needed stuff
2
- require 'rubygems'
3
- require 'yaml'
4
- require 'rake/clean'
5
-
6
- require 'cxxproject/utils/optional'
7
-
8
- require 'cxxproject/ext/string'
9
- require 'cxxproject/utils/utils'
10
- require 'cxxproject/torake'
11
- require 'cxxproject/utils/ubigraph'
12
- require 'cxxproject/utils/graphstream'
13
- require 'cxxproject/toolchain/provider'
14
-
15
- require 'cxxproject/utils/stats'
16
-
17
- include Cxxproject::Toolchain
18
- CxxProject2Rake = Cxxproject::CxxProject2Rake
19
- BinaryLibs = Cxxproject::BinaryLibs
1
+ # Just the default file wich is auto-required in the gem and which requires all needed stuff
2
+ require 'rubygems'
3
+ require 'yaml'
4
+ require 'rake/clean'
5
+
6
+ require 'cxxproject/utils/optional'
7
+
8
+ require 'cxxproject/ext/string'
9
+ require 'cxxproject/utils/utils'
10
+ require 'cxxproject/torake'
11
+ require 'cxxproject/utils/ubigraph'
12
+ require 'cxxproject/utils/graphstream'
13
+ require 'cxxproject/toolchain/provider'
14
+
15
+ require 'cxxproject/utils/progress'
16
+ require 'cxxproject/utils/rbcurse'
17
+ require 'cxxproject/utils/progress'
18
+ require 'cxxproject/utils/rbcurse'
19
+ require 'cxxproject/utils/stats'
20
+
21
+ include Cxxproject::Toolchain
22
+ CxxProject2Rake = Cxxproject::CxxProject2Rake
23
+ BinaryLibs = Cxxproject::BinaryLibs
@@ -1,10 +1,10 @@
1
- require 'cxxproject'
2
- BuildDir = "BuildDir"
3
-
4
- unittest_flags = {
5
- :DEFINES => ['UNIT_TEST','CPPUNIT_MAIN=main'],
6
- :FLAGS => "-O0 -g3 -Wall"
7
- }
8
- toolchain = Provider.modify_cpp_compiler("GCC", unittest_flags)
9
- dependent_projects = ['./project.rb']
10
- CxxProject2Rake.new(dependent_projects, BuildDir, toolchain, './')
1
+ require 'cxxproject'
2
+ BuildDir = "BuildDir"
3
+
4
+ unittest_flags = {
5
+ :DEFINES => ['UNIT_TEST','CPPUNIT_MAIN=main'],
6
+ :FLAGS => "-O0 -g3 -Wall"
7
+ }
8
+ toolchain = Provider.modify_cpp_compiler("GCC", unittest_flags)
9
+ dependent_projects = ['./project.rb']
10
+ CxxProject2Rake.new(dependent_projects, BuildDir, toolchain, './')
@@ -1,6 +1,6 @@
1
- cxx_configuration do
2
- <%= building_block %> "<%= name %>",
3
- :sources => FileList['**/*.cpp'],
4
- :includes => ['include'],
5
- :dependencies => []
6
- end
1
+ cxx_configuration do
2
+ <%= building_block %> "<%= name %>",
3
+ :sources => FileList['**/*.cpp'],
4
+ :includes => ['include'],
5
+ :dependencies => []
6
+ end