cxxproject 0.6.29 → 0.6.30
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +195 -65
- data/lib/cxxproject/buildingblocks/building_block.rb +1 -1
- data/lib/cxxproject/buildingblocks/executable.rb +3 -0
- data/lib/cxxproject/buildingblocks/has_dependencies_mixin.rb +5 -5
- data/lib/cxxproject/buildingblocks/has_sources_mixin.rb +30 -16
- data/lib/cxxproject/buildingblocks/single_source.rb +0 -1
- data/lib/cxxproject/ext/rake_listener.rb +11 -13
- data/lib/cxxproject/plugin_context.rb +6 -4
- data/lib/cxxproject/toolchain/colorizing_formatter.rb +8 -5
- data/lib/cxxproject/utils/printer.rb +6 -6
- data/lib/cxxproject/version.rb +1 -1
- data/lib/cxxproject.rb +0 -1
- metadata +37 -145
- data/.gitignore +0 -18
- data/.rvmrc +0 -1
- data/Gemfile +0 -6
- data/Gemfile.lock +0 -35
- data/Rakefile.rb +0 -125
- data/cxxproject.gemspec +0 -22
- data/example/.gitignore +0 -1
- data/example/Rakefile.rb +0 -35
- data/example/big_project/.gitignore +0 -2
- data/example/big_project/Rakefile_generator.rb +0 -80
- data/example/big_project/fak.h +0 -9
- data/example/custom/.gitignore +0 -1
- data/example/custom/Rakefile.rb +0 -12
- data/example/custom/foo.cpp +0 -5
- data/example/custom/project.rb +0 -27
- data/example/dependency_tests/Rakefile.rb +0 -3
- data/example/dependency_tests/help1.h +0 -12
- data/example/dependency_tests/help2.h +0 -10
- data/example/dependency_tests/main.cpp +0 -6
- data/example/dependency_tests/project.rb +0 -3
- data/example/generator/Rakefile.rb +0 -12
- data/example/generator/main/main.cpp +0 -3
- data/example/generator/main/project/project.rb +0 -3
- data/example/oneFileOnly/Rakefile.rb +0 -3
- data/example/oneFileOnly/config.h +0 -2
- data/example/oneFileOnly/main.cpp +0 -8
- data/example/oneFileOnly/project_compile.rb +0 -3
- data/example/protobuf/.gitignore +0 -4
- data/example/protobuf/Rakefile.rb +0 -70
- data/example/protobuf/addressbook/addressbook.proto +0 -24
- data/example/protobuf/addressbook/addressbook_read.cc +0 -67
- data/example/protobuf/addressbook/addressbook_write.cc +0 -93
- data/example/protobuf/addressbook/project.rb +0 -16
- data/example/protobuf/protobuf.files +0 -37
- data/example/protobuf/protobuf_project.rb +0 -9
- data/example/simpleUnitTest/Rakefile.rb +0 -4
- data/example/simpleUnitTest/atest.cpp +0 -16
- data/example/simpleUnitTest/atest.h +0 -11
- data/example/simpleUnitTest/project.rb +0 -5
- data/example/simpleUnitTest/test.cpp +0 -13
- data/example/strange_dirs/Rakefile.rb +0 -4
- data/example/strange_dirs/lazyLib/project.rb +0 -5
- data/example/strange_dirs/main/main.cpp +0 -5
- data/example/strange_dirs/main/project.rb +0 -5
- data/example/strange_dirs/src/test.cpp +0 -4
- data/example/test.rb +0 -10
- data/example/three_tests/Rakefile.rb +0 -5
- data/example/three_tests/allsuites/project.rb +0 -4
- data/example/three_tests/main/main.cpp +0 -13
- data/example/three_tests/main/project.rb +0 -5
- data/example/three_tests/suite1/project.rb +0 -6
- data/example/three_tests/suite1/suite1.cpp +0 -3
- data/example/three_tests/suite1/suite1.h +0 -28
- data/example/three_tests/suite2/project.rb +0 -6
- data/example/three_tests/suite2/suite2.cpp +0 -3
- data/example/three_tests/suite2/suite2.h +0 -29
- data/junit.rb +0 -91
- data/lib/cxxproject/ext/string.rb +0 -9
- data/plugins/tmp/.rvmrc +0 -1
- data/plugins/tmp/BuildDir/objects/testme/test.o +0 -0
- data/plugins/tmp/BuildDir/objects/testme/test.o.d +0 -1
- data/plugins/tmp/BuildDir/testme.exe +0 -0
- data/plugins/tmp/Rakefile.rb +0 -6
- data/plugins/tmp/project.rb +0 -6
- data/plugins/tmp/reinstall/Rakefile.rb +0 -15
- data/plugins/tmp/test.cpp +0 -7
- data/rake_helper/perftools.rb +0 -34
- data/rake_helper/spec.rb +0 -65
- data/roodi.yml +0 -8
- data/spec/building_block_spec.rb +0 -103
- data/spec/file_ext_spec.rb +0 -30
- data/spec/ide_interface_spec.rb +0 -41
- data/spec/plugin_context_spec.rb +0 -57
- data/spec/provider_spec.rb +0 -39
- data/spec/rake_listener_ext_spec.rb +0 -58
- data/spec/spec_helper.rb +0 -18
- data/spec/string_spec.rb +0 -11
- data/spec/testdata/basic/exe12/help.cpp +0 -5
- data/spec/testdata/basic/exe12/help.h +0 -6
- data/spec/testdata/basic/exe12/main.cpp +0 -10
- data/spec/testdata/basic/exe12/project.rb +0 -5
- data/spec/testdata/basic/lib1/lib1.cpp +0 -7
- data/spec/testdata/basic/lib1/lib1.h +0 -8
- data/spec/testdata/basic/lib1/project.rb +0 -5
- data/spec/testdata/basic/lib2/lib2.cpp +0 -17
- data/spec/testdata/basic/lib2/lib2.h +0 -6
- data/spec/testdata/basic/lib2/project.rb +0 -8
- data/spec/testdata/multiple_levels/libs/lib1/lib1.cpp +0 -7
- data/spec/testdata/multiple_levels/libs/lib1/lib1.h +0 -8
- data/spec/testdata/multiple_levels/libs/lib1/project.rb +0 -5
- data/spec/testdata/multiple_levels/libs/lib2/lib2.cpp +0 -21
- data/spec/testdata/multiple_levels/libs/lib2/lib2.h +0 -6
- data/spec/testdata/multiple_levels/libs/lib2/project.rb +0 -19
- data/spec/testdata/multiple_levels/mainproject/basic/help.cpp +0 -5
- data/spec/testdata/multiple_levels/mainproject/basic/help.h +0 -6
- data/spec/testdata/multiple_levels/mainproject/basic/main.cpp +0 -10
- data/spec/testdata/multiple_levels/mainproject/basic/project.rb +0 -8
- data/spec/testdata/onlyOneHeader/.gitignore +0 -1
- data/spec/testdata/onlyOneHeader/Rakefile.rb +0 -4
- data/spec/testdata/onlyOneHeader/help.cpp +0 -5
- data/spec/testdata/onlyOneHeader/help.h +0 -7
- data/spec/testdata/onlyOneHeader/main.cpp +0 -8
- data/spec/testdata/onlyOneHeader/project.rb +0 -4
- data/spec/testdata/onlyOneHeader/testin.c +0 -0
- data/spec/toolchain_spec.rb +0 -29
data/README.md
CHANGED
@@ -5,6 +5,180 @@ see documentation page: [cxxproject](http://marcmo.github.com/cxxproject)
|
|
5
5
|
|
6
6
|
## Change History:
|
7
7
|
|
8
|
+
0.6.28 => 0.6.29
|
9
|
+
|
10
|
+
* Bump to 0.6.29
|
11
|
+
|
12
|
+
* moved some specs to cxx
|
13
|
+
|
14
|
+
* cleanup rake_helper
|
15
|
+
|
16
|
+
* removed support for old ruby (only ruby > 1.9 is now supported)
|
17
|
+
|
18
|
+
* added env-test to generate junit.xml from specs
|
19
|
+
|
20
|
+
* updated gems
|
21
|
+
|
22
|
+
|
23
|
+
0.6.27 => 0.6.28
|
24
|
+
|
25
|
+
* Bump to 0.6.28
|
26
|
+
|
27
|
+
* bugfix for whole-archive
|
28
|
+
if compiler does not define the start and end flags
|
29
|
+
|
30
|
+
|
31
|
+
0.6.25 => 0.6.27
|
32
|
+
|
33
|
+
* Bump to 0.6.26
|
34
|
+
|
35
|
+
* Fixes #102
|
36
|
+
redefinition of building blocks does not provoke error
|
37
|
+
|
38
|
+
* added junit spec-helper
|
39
|
+
|
40
|
+
* fixed verify error on jenkins
|
41
|
+
|
42
|
+
* added whole_archive to source-libs
|
43
|
+
usually you want to let the linker decide which functions of a
|
44
|
+
library should be linked into the executable. this does not work
|
45
|
+
for some situations where a compile time plugin system registers
|
46
|
+
stuff with variables that are not used in the program. e.g. unit-tests.
|
47
|
+
the old cxxproject handled every library as whole-archive which led to
|
48
|
+
huge binaries ... now you can flag only the needed libraries as such.
|
49
|
+
|
50
|
+
* added includes to binlibs
|
51
|
+
|
52
|
+
|
53
|
+
0.6.24 => 0.6.25
|
54
|
+
|
55
|
+
* Bump to 0.6.25
|
56
|
+
|
57
|
+
|
58
|
+
0.6.23 => 0.6.24
|
59
|
+
|
60
|
+
* Bump to 0.6.24
|
61
|
+
|
62
|
+
* fixed :FLAGS in empty toolchain
|
63
|
+
|
64
|
+
|
65
|
+
0.6.22 => 0.6.23
|
66
|
+
|
67
|
+
* Bump to 0.6.23
|
68
|
+
|
69
|
+
* compiler and linker flags are now arrays
|
70
|
+
|
71
|
+
|
72
|
+
v_0.5.58 => 0.6.22
|
73
|
+
|
74
|
+
* removed valgrind support
|
75
|
+
* introducing plugin infrastructure
|
76
|
+
* added gemfile
|
77
|
+
|
78
|
+
* run-fix for spaces in path to executable
|
79
|
+
|
80
|
+
* fixed build for directories with spaces
|
81
|
+
|
82
|
+
* plugins for toolchains
|
83
|
+
added test project for plugins
|
84
|
+
|
85
|
+
* removed whitespace
|
86
|
+
|
87
|
+
* Merge "plugins for toolchains"
|
88
|
+
* removed contrib...will be implemented as plugins if needed
|
89
|
+
|
90
|
+
* finished plugins for toolchains:
|
91
|
+
toolchains for gcc, clang, diab will be published as gems
|
92
|
+
new toolchains have to be implemented as plugins
|
93
|
+
examples and rspecs are fixed to work with plugin toolchains
|
94
|
+
|
95
|
+
* updated version history
|
96
|
+
|
97
|
+
* Merge "updated version history"
|
98
|
+
* added wizard support for toolchains
|
99
|
+
|
100
|
+
* added toolchain candidates to cxx tool
|
101
|
+
|
102
|
+
* added eclipse .buildpath to gitignore
|
103
|
+
|
104
|
+
* fixed custom/big_project examples
|
105
|
+
|
106
|
+
* introduced block for toolchain modification
|
107
|
+
it is not possible to modify toolchains before or after the call to CxxProject2Rake
|
108
|
+
so we have to provid a means to do this;
|
109
|
+
|
110
|
+
* refined project-wizard workflow
|
111
|
+
|
112
|
+
* avaoid exception on project-wizard cancle
|
113
|
+
|
114
|
+
* added default values in project-wizard
|
115
|
+
|
116
|
+
* project-wizard uses regex find installed toolchain
|
117
|
+
|
118
|
+
* added whole-archive for linux
|
119
|
+
|
120
|
+
* updated version
|
121
|
+
|
122
|
+
* torake: cleanup naming
|
123
|
+
|
124
|
+
* fixed so that rake spec:spec can fail again
|
125
|
+
|
126
|
+
* fixed gemfile for specs
|
127
|
+
|
128
|
+
* updated erroroutput when parsing was not successfull
|
129
|
+
|
130
|
+
* updated version and gitignore
|
131
|
+
|
132
|
+
* splitted toolchain and other plugins
|
133
|
+
other plugins need the building blocks .. toolchains not so much
|
134
|
+
|
135
|
+
* args for run task (rake args=123 run:test.exe)
|
136
|
+
|
137
|
+
* inverted default of bail_on_first_error
|
138
|
+
|
139
|
+
* empty lines removed
|
140
|
+
|
141
|
+
* used frazzle for toolchain and general purpose plugins
|
142
|
+
|
143
|
+
* moved torake to plugin rubydsl
|
144
|
+
|
145
|
+
* moved console to seperate plugin
|
146
|
+
|
147
|
+
* moved basic example to examples repository
|
148
|
+
|
149
|
+
* new version
|
150
|
+
|
151
|
+
* code cleanup
|
152
|
+
|
153
|
+
* moved stats to plugin
|
154
|
+
|
155
|
+
* updated version for new gem-release
|
156
|
+
moved plugin-context-files to cxx
|
157
|
+
|
158
|
+
* allowed relative paths for sourcefiles again
|
159
|
+
.. is replaced by _
|
160
|
+
|
161
|
+
* Bump to 0.6.16
|
162
|
+
|
163
|
+
* Bump to 0.6.17
|
164
|
+
|
165
|
+
* Bump to 0.6.18
|
166
|
+
|
167
|
+
* more std. conform gemspec allows version bump
|
168
|
+
|
169
|
+
* moved example ckLayout to examples
|
170
|
+
|
171
|
+
* Bump to 0.6.19
|
172
|
+
|
173
|
+
* Bump to 0.6.20
|
174
|
+
|
175
|
+
* Bump to 0.6.21
|
176
|
+
|
177
|
+
* Bump to 0.1.10
|
178
|
+
|
179
|
+
* Bump to 0.1.11
|
180
|
+
|
181
|
+
|
8
182
|
v_0.5.56 => v_0.5.58
|
9
183
|
|
10
184
|
* GCC3 include not found error now recognized correctly
|
@@ -59,7 +233,6 @@ v_0.5.47 => v_0.5.49
|
|
59
233
|
v_0.5.46 => v_0.5.47
|
60
234
|
|
61
235
|
* more examples for usage of custom blocks
|
62
|
-
|
63
236
|
bumped version
|
64
237
|
updated README
|
65
238
|
|
@@ -74,12 +247,10 @@ v_0.5.44 => v_0.5.45
|
|
74
247
|
|
75
248
|
* better error message in case of syntax errors in project.rb files
|
76
249
|
* extended support for custom building block: can now have dependencies
|
77
|
-
|
78
250
|
also included some example usage
|
79
251
|
* better error messages for users when we have a syntax error in project.rb files
|
80
252
|
* include output directory for CLOBBER task
|
81
253
|
* more robust rakefile in case not all required gems are installed
|
82
|
-
|
83
254
|
version bump
|
84
255
|
* version bump
|
85
256
|
|
@@ -281,7 +452,6 @@ v_0.5.8 => v_0.5.10
|
|
281
452
|
* Fixed some bugs like handling of 0, specs are running again
|
282
453
|
* fixed clang compiler formatter (runtime error because formatter api changed)
|
283
454
|
* console output was not captured correctly for old ruby versions
|
284
|
-
|
285
455
|
happened for ruby versions < 1.9.2...fixed with this commit
|
286
456
|
* fixed namespace error for Printer
|
287
457
|
* 0.5.10
|
@@ -290,7 +460,6 @@ v_0.5.7 => v_0.5.8
|
|
290
460
|
|
291
461
|
* better matches for gcc warnings/error parser
|
292
462
|
* some formatter tweaking...
|
293
|
-
|
294
463
|
added rake task to automatically generate and update release history
|
295
464
|
|
296
465
|
v_0.5.6 => v_0.5.7
|
@@ -310,41 +479,25 @@ v_0.5.4 => v_0.5.5
|
|
310
479
|
|
311
480
|
* startet to add new errorparser (#82)
|
312
481
|
* command line colorization and ide interface use same formatter now
|
313
|
-
|
314
482
|
closes #82, #83
|
315
483
|
regex for parsing the error string is now part of the toolchain,
|
316
484
|
colorizing_formatter now uses errorparser to parse command line output
|
317
485
|
version bump
|
318
486
|
|
319
|
-
v_0.5.3 => v_0.5.4
|
487
|
+
v_0.5.3.32 => v_0.5.4
|
320
488
|
|
321
|
-
* Removed dot graph stuff
|
322
|
-
* fixed non-ascii char console prob in windows
|
323
|
-
* polish
|
324
|
-
* corrected console highlighting (closes #81)
|
325
|
-
* version bump to 0.5.4
|
326
|
-
|
327
|
-
install dependent gems per default,
|
328
|
-
enable "on" as keyword for toggling the colorized output
|
329
489
|
|
330
|
-
v_0.5.3
|
490
|
+
v_0.5.3 => v_0.5.3.32
|
331
491
|
|
332
|
-
|
333
|
-
v_0.5.2 => v_0.5.3.32
|
334
|
-
|
335
|
-
* exit helper for unit tests
|
336
|
-
* 0.5.3
|
337
492
|
* Removed dot graph stuff
|
338
493
|
* fixed non-ascii char console prob in windows
|
339
494
|
* polish
|
340
495
|
* corrected console highlighting (closes #81)
|
341
496
|
* version bump to 0.5.4
|
342
|
-
|
343
497
|
install dependent gems per default,
|
344
498
|
enable "on" as keyword for toggling the colorized output
|
345
499
|
* startet to add new errorparser (#82)
|
346
500
|
* command line colorization and ide interface use same formatter now
|
347
|
-
|
348
501
|
closes #82, #83
|
349
502
|
regex for parsing the error string is now part of the toolchain,
|
350
503
|
colorizing_formatter now uses errorparser to parse command line output
|
@@ -358,12 +511,10 @@ v_0.5.2 => v_0.5.3.32
|
|
358
511
|
* version 0.5.7
|
359
512
|
* better matches for gcc warnings/error parser
|
360
513
|
* some formatter tweaking...
|
361
|
-
|
362
514
|
added rake task to automatically generate and update release history
|
363
515
|
* Fixed some bugs like handling of 0, specs are running again
|
364
516
|
* fixed clang compiler formatter (runtime error because formatter api changed)
|
365
517
|
* console output was not captured correctly for old ruby versions
|
366
|
-
|
367
518
|
happened for ruby versions < 1.9.2...fixed with this commit
|
368
519
|
* fixed namespace error for Printer
|
369
520
|
* 0.5.10
|
@@ -442,6 +593,11 @@ v_0.5.2 => v_0.5.3.32
|
|
442
593
|
* 0.5.31
|
443
594
|
* Makefile and CommandLine output immediately visible instead of waiting until the step has been completed. Bugfix: attribute pathTo of Makefile did not work for Build This Project Only
|
444
595
|
|
596
|
+
v_0.5.2 => v_0.5.3
|
597
|
+
|
598
|
+
* exit helper for unit tests
|
599
|
+
* 0.5.3
|
600
|
+
|
445
601
|
v_0.5.1 => v_0.5.2
|
446
602
|
|
447
603
|
* Fixed 1.8.6 compatibility, removed transitive_config_deps
|
@@ -451,22 +607,24 @@ v_0.5.1 => v_0.5.2
|
|
451
607
|
* fixed task name probs for command line and makefile
|
452
608
|
* removed dependencies because they should be optional
|
453
609
|
|
454
|
-
|
610
|
+
0.5.1 => v_0.5.1
|
455
611
|
|
456
|
-
* fix for spawn, only transitive_config_files in prereqs - #68, #75
|
457
|
-
* removed debug output - #68
|
458
612
|
* added better errormessage when there is a problem with a project.rb file
|
459
|
-
|
460
613
|
include directory from which the failed command was executed
|
461
614
|
* fixed error in gemspec
|
462
615
|
* fixed transitive config spec and ruby 1.8.7 compatibility #80
|
463
616
|
|
617
|
+
v_0.5.0 => 0.5.1
|
618
|
+
|
619
|
+
* fix for spawn, only transitive_config_files in prereqs - #68, #75
|
620
|
+
* removed debug output - #68
|
621
|
+
* Fixed 1.8.6 compatibility, removed transitive_config_deps
|
622
|
+
|
464
623
|
v_0.4.10 => v_0.5.0
|
465
624
|
|
466
625
|
* autorefresh after run task - Fixes #58
|
467
626
|
* renamed variable - #56
|
468
627
|
* added dialog to enter filter (defaults to .*) - Fixes #59
|
469
|
-
|
470
628
|
update of details after invoke
|
471
629
|
* better open editor - Fixes #60
|
472
630
|
* refactoring of last commits - #24
|
@@ -479,30 +637,24 @@ v_0.4.10 => v_0.5.0
|
|
479
637
|
* refactoring and test for error-packets in ide_interface
|
480
638
|
* nr of sourcefiles per executable - #63
|
481
639
|
* added rcov flags to rakefile and fixed ThreadOut accordingly - Fixes #64
|
482
|
-
|
483
640
|
coverage is generated into coverage/
|
484
641
|
* Speeded up creating rake tasks
|
485
642
|
* bugfix for speed improvements
|
486
643
|
* monkey patched Task::enhance - #68
|
487
644
|
* Bugfix: clean task is created before monkey patching Rake::Task
|
488
645
|
* ok ... new philosophy ... everything should be as optional as possible - #66
|
489
|
-
|
490
646
|
lets see how much rdoc, rake, ... is delivered with 1.8.7 and 1.9.2 (our two supported ruby-interpreters)
|
491
647
|
* better warning when a building block is malformed
|
492
648
|
* closes #70 - gcov in not needed to execute specs
|
493
|
-
|
494
649
|
there was a load error when gcov gem was not installed
|
495
650
|
* rename of extensions (closes #71)
|
496
|
-
|
497
651
|
now all extensions reside in ext folder and are not called *_ext.rb anymore
|
498
652
|
* introduced modules for all files
|
499
653
|
* added coverage tool for 1.9
|
500
|
-
|
501
654
|
used simplecov (optional package)
|
502
655
|
* added google-perftools support - #68
|
503
656
|
* some more tests for relFromTo - #65
|
504
657
|
* added lazy_attribute_with_default - #67
|
505
|
-
|
506
658
|
added rake_helper/perftools.rb
|
507
659
|
* bugfix for osx - a33eeaf254ef8abaeae0
|
508
660
|
* preparation of caching. glob on-the-fly. bugfix all_deps.
|
@@ -530,7 +682,6 @@ v_0.4.10 => v_0.5.0
|
|
530
682
|
* enhanced test - #67
|
531
683
|
* removed debug output - #23
|
532
684
|
* defined spectask - #Fixes #77
|
533
|
-
|
534
685
|
added spectask to point to spec:spec and spec:coverage which should be used instead
|
535
686
|
* made highline optional - Fixes #78
|
536
687
|
* using spawn instad of backtricks prevents 8192 max char problem
|
@@ -547,17 +698,14 @@ v_0.4.8 => v_0.4.9
|
|
547
698
|
* moved svg to ghpages
|
548
699
|
* added formatter to gcc toolchain
|
549
700
|
* output is controlled by rake flags
|
550
|
-
|
551
701
|
corrected all examples,
|
552
702
|
rake -v -> logger->info & BuildingBlock.verbose, rake -t -> logger->debug
|
553
703
|
* mini readme for grapgstream server
|
554
704
|
* #17 - run:all\[filter\]
|
555
705
|
* removed dummy task
|
556
706
|
* #17 - added more generic tasks
|
557
|
-
|
558
707
|
filter[], lib:filter[], exe:filter[], run:filter[]
|
559
708
|
* #13, #15 - llvm clang support
|
560
|
-
|
561
709
|
you have to download and install clang binaries as well as llvm-gcc front end binaries and set the path to the bin folders
|
562
710
|
* polish
|
563
711
|
* Fixes #16 - adapted colors to look correct
|
@@ -567,19 +715,16 @@ v_0.4.8 => v_0.4.9
|
|
567
715
|
* specs are running again
|
568
716
|
* #27 - apply will be executed immediately
|
569
717
|
* Fixes #28
|
570
|
-
|
571
718
|
enabled is now a static variable of ColorizingFormatter. The instances simply forward to that static field. By default it is false, so no colorization takes place. torake sets it to true be default, but you also have an additional task to enable/disable it again (toggle_colorization)
|
572
719
|
* emit compiler command when we have a compiler error
|
573
720
|
* Bugfix of >Fixes #28<: did not run without rainbow
|
574
721
|
* Fixes #25
|
575
|
-
|
576
722
|
protobuf addressbook_(read|write).exe including:
|
577
723
|
protobuf download
|
578
724
|
protobuf configure
|
579
725
|
protobuf make to get protoc
|
580
726
|
call to protoc to generate sources
|
581
727
|
* Fixes #29
|
582
|
-
|
583
728
|
added question for generation of Rakefile.rb
|
584
729
|
* Fixes for osx and rake 0.9.1
|
585
730
|
* Fixes #32
|
@@ -590,23 +735,18 @@ v_0.4.8 => v_0.4.9
|
|
590
735
|
* clean up after object_dependency_spec
|
591
736
|
* Fixes #26
|
592
737
|
* Fixes #37
|
593
|
-
|
594
738
|
rework apply_dependency_file
|
595
739
|
* rework apply_dependency_file
|
596
|
-
|
597
740
|
Fixes #37
|
598
741
|
* Moved method from module scope to class scope as intended
|
599
742
|
* Rake DSL now included only once and without warning
|
600
743
|
* generator script for big project - Fixes #38
|
601
|
-
|
602
744
|
generates a big project (you can choose nr of projects and max nr of files per project)
|
603
745
|
* sync issue in the graphstream client - Fixes #40
|
604
746
|
* ascii progressbar - Fixes #20, Fixes #39
|
605
|
-
|
606
747
|
best use together with the rake flag -s
|
607
748
|
* benchmark of the progress precalculations - Fixes #41
|
608
749
|
* Cleanup structure of single directory builds - Fixes #7
|
609
|
-
|
610
750
|
the dir output of examples/basic looks like this:
|
611
751
|
build
|
612
752
|
├── exes
|
@@ -661,7 +801,6 @@ v_0.4.8 => v_0.4.9
|
|
661
801
|
* Removed puts of num threads
|
662
802
|
* roodi refactorings - Fixes #24
|
663
803
|
* Revert "roodi refactorings - Fixes #24"
|
664
|
-
|
665
804
|
commit was accidental...
|
666
805
|
This reverts commit e92885c1615c1c3d593b54bfea2b33c7ea40a88a.
|
667
806
|
* dont use static fields as much - Fixes #53
|
@@ -673,11 +812,9 @@ v_0.4.8 => v_0.4.9
|
|
673
812
|
v_0.4.7 => v_0.4.8
|
674
813
|
|
675
814
|
* added graphstream support
|
676
|
-
|
677
815
|
javalibs, javaserver and client, rubyclient
|
678
816
|
* used a new snapshot of gs-core, where clear works
|
679
817
|
* added support for custom building blocks
|
680
|
-
|
681
818
|
and a little bugfix: rebuilding did not work correctly
|
682
819
|
* corrected pom of graphstream_server
|
683
820
|
* start of error parser development
|
@@ -688,7 +825,6 @@ v_0.4.7 => v_0.4.8
|
|
688
825
|
* better warning when rubigraph not found
|
689
826
|
* fix example for osx
|
690
827
|
* added support for custom building blocks
|
691
|
-
|
692
828
|
and a little bugfix: rebuilding did not work correctly
|
693
829
|
* start of error parser development
|
694
830
|
* cleanup task manager, continued error parser, some cosmetics
|
@@ -696,17 +832,14 @@ v_0.4.7 => v_0.4.8
|
|
696
832
|
* fixed indention
|
697
833
|
* reverted indention fix in project.rb and Rakefile.rb
|
698
834
|
* added graphstream support
|
699
|
-
|
700
835
|
javalibs, javaserver and client, rubyclient
|
701
836
|
* tuned continuous layout of graphstream server
|
702
837
|
* Merge branch 'graphstream'
|
703
838
|
* removed old jars
|
704
839
|
* added executable jar for grapgstream server
|
705
|
-
|
706
840
|
java -jar target/gs-server-0.1-SNAPSHOT-jar-with-dependencies.jar
|
707
841
|
* error parser: further dev
|
708
842
|
* building-block cleanup:
|
709
|
-
|
710
843
|
every building block has a convert_to_rake function
|
711
844
|
less implicit state when invoking functions (less side effects)
|
712
845
|
better debug output
|
@@ -730,7 +863,6 @@ v_0.4.5 => v_0.4.6
|
|
730
863
|
* split up gemspec
|
731
864
|
* some docu and fixes for rspecs
|
732
865
|
* new tests for correctly setting build dependencies,
|
733
|
-
|
734
866
|
found and fixed a bug where we did not rebuild after project file changed
|
735
867
|
* tuned spec rake task
|
736
868
|
* added sozi presentation
|
@@ -751,7 +883,6 @@ v_0.4.4 => v_0.4.5
|
|
751
883
|
* namespaces for exes, libs, runs
|
752
884
|
* Merge branch 'master' of github.com:marcmo/cxxproject
|
753
885
|
* refactoring of main task creation function in task_maker,
|
754
|
-
|
755
886
|
some corrections to the readme
|
756
887
|
* fixed missing parameter for single_souce case
|
757
888
|
* fixed the refactoring: module building block has also sources, add defines to compiler only one. minor cosmetic stuff
|
@@ -768,16 +899,13 @@ v_0.4.3 => v_0.4.4
|
|
768
899
|
|
769
900
|
* fixed deep copy, added var to change num of cores
|
770
901
|
* flush implementation needed for 1.9.2
|
771
|
-
|
772
902
|
also added some targets to work with ubigraph
|
773
903
|
* Merge branch 'master' of https://github.com/marcmo/cxxproject
|
774
904
|
* reformat
|
775
905
|
* added command line bb
|
776
906
|
* enhanced ubigraph support + bugfix for lazy FileLists
|
777
|
-
|
778
907
|
see rubygraph: rake namespace
|
779
908
|
* mainly torake changes:
|
780
|
-
|
781
909
|
now possible to define multiple configurations in one cxxconfiguration (e.g. one for debug, one for release)
|
782
910
|
updated all examples to work with toolchains instead of compiler
|
783
911
|
|
@@ -798,10 +926,8 @@ v_0.4.2 => v_0.4.3
|
|
798
926
|
* bugfix: c flags incorrect
|
799
927
|
* fixed apply-enhance-break-dependencies-bug, fixed crash if file i depfile does not exist anymore, removed tabs
|
800
928
|
* removed optimization of timestamps...
|
801
|
-
|
802
929
|
caching prevented correct builds
|
803
930
|
* added ubigraph support,
|
804
|
-
|
805
931
|
bugfixes for needed? method
|
806
932
|
* some roodi fixes and removal of unneeded function
|
807
933
|
* reverted removal of function...is needed to display linker warnings/errors
|
@@ -831,7 +957,6 @@ v_0.4.1 => v_0.4.2
|
|
831
957
|
* merged alternative and master branch
|
832
958
|
* fixed basic usecases again
|
833
959
|
* Merge branch 'apichange'
|
834
|
-
|
835
960
|
Conflicts:
|
836
961
|
lib/cxxproject.rb
|
837
962
|
lib/cxxproject/buildingblock.rb
|
@@ -850,7 +975,6 @@ v_0.4.1 => v_0.4.2
|
|
850
975
|
* bugfix: output dir created if task has no sources
|
851
976
|
* some refactorings and renames
|
852
977
|
* default to whole-archive linker option on gcc
|
853
|
-
|
854
978
|
this is neccessary when linking c++ code where global instances register in constructors (as in cppunit)
|
855
979
|
* refactoring name of function
|
856
980
|
|
@@ -863,6 +987,12 @@ v_0.4.0 => v_0.4.1
|
|
863
987
|
task_maker introduces interface that takes the building-blocks and creates the tasks
|
864
988
|
* removed old taskmaker
|
865
989
|
* added comments and tests
|
866
|
-
|
867
990
|
started to add dependendy base specs to test correct build/rebuild behavior
|
868
991
|
* added feature: build only for collection of source files
|
992
|
+
|
993
|
+
0.1.10 => v_0.4.0
|
994
|
+
|
995
|
+
|
996
|
+
0.1.9 => 0.1.10
|
997
|
+
|
998
|
+
* Bump to 0.1.10
|
@@ -9,13 +9,16 @@ module Cxxproject
|
|
9
9
|
@helper_dependencies ||= []
|
10
10
|
end
|
11
11
|
|
12
|
+
def convert_named_values_to_string(values)
|
13
|
+
values.map { |v| v.instance_of?(String) ? v : v.name }
|
14
|
+
end
|
12
15
|
def set_dependencies(deps)
|
13
|
-
@dependencies = deps
|
16
|
+
@dependencies = convert_named_values_to_string(deps)
|
14
17
|
self
|
15
18
|
end
|
16
19
|
|
17
20
|
def set_helper_dependencies(deps)
|
18
|
-
@helper_dependencies = deps
|
21
|
+
@helper_dependencies = convert_named_values_to_string(deps)
|
19
22
|
self
|
20
23
|
end
|
21
24
|
|
@@ -54,17 +57,14 @@ module Cxxproject
|
|
54
57
|
end
|
55
58
|
|
56
59
|
def collect_dependencies()
|
57
|
-
# puts "collect for #{name}"
|
58
60
|
res = []
|
59
61
|
res << self
|
60
62
|
todo = dependencies
|
61
63
|
while not todo.empty?
|
62
|
-
# p todo
|
63
64
|
bb = resolve_by_name(todo.pop)
|
64
65
|
add_unique(res, bb)
|
65
66
|
todo += bb.dependencies
|
66
67
|
end
|
67
|
-
# puts "result of collect for #{name} -> #{res}"
|
68
68
|
res
|
69
69
|
end
|
70
70
|
|
@@ -4,6 +4,8 @@ require 'cxxproject/utils/utils'
|
|
4
4
|
require 'cxxproject/utils/printer'
|
5
5
|
|
6
6
|
module Cxxproject
|
7
|
+
|
8
|
+
# users of this module can implement no_sources_found() to handle cases where no sources are given
|
7
9
|
module HasSources
|
8
10
|
|
9
11
|
attr_writer :file_dependencies
|
@@ -17,6 +19,10 @@ module Cxxproject
|
|
17
19
|
@sources ||= []
|
18
20
|
end
|
19
21
|
def set_sources(x)
|
22
|
+
if x.class == Rake::FileList
|
23
|
+
raise "specifying sources but FileList is empty!" if x.empty?
|
24
|
+
end
|
25
|
+
x.each {|f| raise "File #{f} does not exist!" unless File.exists?(f)}
|
20
26
|
@sources = x
|
21
27
|
self
|
22
28
|
end
|
@@ -174,6 +180,15 @@ module Cxxproject
|
|
174
180
|
end
|
175
181
|
end
|
176
182
|
|
183
|
+
def add_to_sources_to_build(sources_to_build, excluded_files, sources, alternative_toolchain=nil)
|
184
|
+
sources.each do |f|
|
185
|
+
next if excluded_files.include?(f)
|
186
|
+
next if sources_to_build.has_key?(f)
|
187
|
+
t = tcs4source(f) || alternative_toolchain
|
188
|
+
sources_to_build[f] = t
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
177
192
|
def create_object_file_tasks()
|
178
193
|
sources_to_build = {}
|
179
194
|
|
@@ -188,12 +203,7 @@ module Cxxproject
|
|
188
203
|
end
|
189
204
|
files = Set.new # do not build the same file twice
|
190
205
|
|
191
|
-
|
192
|
-
next if exclude_files.include?(f)
|
193
|
-
next if files.include?(f)
|
194
|
-
files << f
|
195
|
-
sources_to_build[f] = tcs4source(f)
|
196
|
-
end
|
206
|
+
add_to_sources_to_build(sources_to_build, exclude_files, sources)
|
197
207
|
|
198
208
|
source_patterns.each do |p|
|
199
209
|
if p.include?("..")
|
@@ -205,17 +215,13 @@ module Cxxproject
|
|
205
215
|
if (globRes.length == 0)
|
206
216
|
Printer.printWarning "Warning: Source file pattern '#{p}' did not match to any file"
|
207
217
|
end
|
208
|
-
globRes
|
209
|
-
next if exclude_files.include?(f)
|
210
|
-
next if files.include?(f)
|
211
|
-
files << f
|
212
|
-
t = tcs4source(f)
|
213
|
-
t = tcs4source(p) if t == nil
|
214
|
-
sources_to_build[f] = t
|
215
|
-
end
|
218
|
+
add_to_sources_to_build(sources_to_build, exclude_files, globRes, tcs4source(p))
|
216
219
|
end
|
217
220
|
|
218
221
|
ordered = sources_to_build.keys.sort()
|
222
|
+
|
223
|
+
no_sources_found() if sources_to_build.empty?
|
224
|
+
|
219
225
|
dirs = []
|
220
226
|
filemap = {}
|
221
227
|
ordered.reverse.each do |o|
|
@@ -224,7 +230,7 @@ module Cxxproject
|
|
224
230
|
filemap[d] << o
|
225
231
|
else
|
226
232
|
filemap[d] = [o]
|
227
|
-
|
233
|
+
dirs << d
|
228
234
|
end
|
229
235
|
end
|
230
236
|
|
@@ -239,12 +245,16 @@ module Cxxproject
|
|
239
245
|
end
|
240
246
|
|
241
247
|
def create_object_file_task(sourceRel, the_tcs)
|
248
|
+
if !File.exists?(sourceRel)
|
249
|
+
raise "File '#{sourceRel}' not found"
|
250
|
+
end
|
251
|
+
|
242
252
|
if File.is_absolute?(sourceRel)
|
243
253
|
sourceRel = File.rel_from_to_project(@project_dir, sourceRel, false)
|
244
254
|
end
|
245
255
|
|
246
256
|
type = get_source_type(sourceRel)
|
247
|
-
|
257
|
+
raise "Unknown filetype for #{sourceRel}" unless type
|
248
258
|
|
249
259
|
objectRel = get_object_file(sourceRel)
|
250
260
|
@objects << objectRel
|
@@ -356,5 +366,9 @@ module Cxxproject
|
|
356
366
|
t
|
357
367
|
end
|
358
368
|
|
369
|
+
def no_sources_found()
|
370
|
+
raise "No Sources found for '#{self.class} #{name}'"
|
371
|
+
end
|
372
|
+
|
359
373
|
end
|
360
374
|
end
|