bake-toolkit 2.20.4 → 2.21.0

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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile.rb +3 -3
  3. data/bin/bake +46 -46
  4. data/bin/bake-doc +11 -11
  5. data/bin/bakery +179 -179
  6. data/bin/createVSProjects +213 -213
  7. data/documentation/_build/html/_sources/changelog.txt +456 -451
  8. data/documentation/_build/html/_sources/commandline/commandline.txt +107 -107
  9. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -34
  10. data/documentation/_build/html/_sources/concepts/concepts.txt +14 -14
  11. data/documentation/_build/html/_sources/concepts/inject.txt +65 -65
  12. data/documentation/_build/html/_sources/concepts/link_order.txt +91 -91
  13. data/documentation/_build/html/_sources/concepts/prebuild.txt +56 -56
  14. data/documentation/_build/html/_sources/concepts/the_main_project.txt +45 -45
  15. data/documentation/_build/html/_sources/concepts/the_project_meta_file.txt +72 -72
  16. data/documentation/_build/html/_sources/ide/eclipse/eclipse.txt +25 -25
  17. data/documentation/_build/html/_sources/ide/eclipse/how_to_convert_existing_cdt_workspace.txt +31 -31
  18. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_new_project_in_eclipse.txt +18 -18
  19. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_workspace_in_eclipse.txt +27 -27
  20. data/documentation/_build/html/_sources/ide/eclipse/how_to_debug_in_eclipse.txt +38 -38
  21. data/documentation/_build/html/_sources/ide/eclipse/how_to_install_eclipse_plugin.txt +44 -44
  22. data/documentation/_build/html/_sources/ide/eclipse/how_to_use_bake_in_eclipse.txt +86 -86
  23. data/documentation/_build/html/_sources/ide/ide_integrations.txt +8 -8
  24. data/documentation/_build/html/_sources/ide/vs/how_to_create_vs_projects.txt +15 -15
  25. data/documentation/_build/html/_sources/ide/vs/how_to_debug_in_vs.txt +35 -35
  26. data/documentation/_build/html/_sources/ide/vs/how_to_used_bake_in_vs.txt +35 -35
  27. data/documentation/_build/html/_sources/ide/vs/vs.txt +10 -10
  28. data/documentation/_build/html/_sources/ide/vs/vs_install.txt +43 -43
  29. data/documentation/_build/html/_sources/index.txt +33 -33
  30. data/documentation/_build/html/_sources/install/install_bake.txt +112 -112
  31. data/documentation/_build/html/_sources/internal.txt +50 -50
  32. data/documentation/_build/html/_sources/known_issues.txt +9 -9
  33. data/documentation/_build/html/_sources/license.txt +4 -4
  34. data/documentation/_build/html/_sources/performance/performance.txt +104 -104
  35. data/documentation/_build/html/_sources/quickstart/quickstart.txt +70 -70
  36. data/documentation/_build/html/_sources/syntax/adapt_configs.txt +143 -143
  37. data/documentation/_build/html/_sources/syntax/auto_adjustment.txt +43 -43
  38. data/documentation/_build/html/_sources/syntax/derive_configs.txt +93 -94
  39. data/documentation/_build/html/_sources/syntax/project_meta_syntax.txt +19 -19
  40. data/documentation/_build/html/_sources/syntax/syntax.txt +11 -11
  41. data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +147 -147
  42. data/documentation/_build/html/_sources/tips_and_tricks/dot.txt +34 -34
  43. data/documentation/_build/html/_sources/tips_and_tricks/how_to_use_bake_with_cygwin.txt +62 -62
  44. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +122 -122
  45. data/documentation/_build/html/_sources/tips_and_tricks/the_bakery.txt +72 -72
  46. data/documentation/_build/html/_sources/tips_and_tricks/the_clang.txt +43 -43
  47. data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +34 -34
  48. data/documentation/_build/html/_sources/why_bake/why_bake.txt +40 -40
  49. data/documentation/_build/html/changelog.html +7 -0
  50. data/documentation/_build/html/commandline/commandline.html +2 -2
  51. data/documentation/_build/html/concepts/link_order.html +2 -2
  52. data/documentation/_build/html/concepts/prebuild.html +2 -2
  53. data/documentation/_build/html/index.html +4 -4
  54. data/documentation/_build/html/performance/performance.html +2 -2
  55. data/documentation/_build/html/searchindex.js +1 -1
  56. data/documentation/_build/html/syntax/adapt_configs.html +2 -2
  57. data/documentation/_build/html/syntax/syntax.html +2 -2
  58. data/documentation/_build/html/tips_and_tricks/the_clang.html +2 -2
  59. data/documentation/_build/html/why_bake/why_bake.html +2 -2
  60. data/lib/adapt/config/loader.rb +112 -112
  61. data/lib/bake/bundle.rb +158 -158
  62. data/lib/bake/cache.rb +179 -180
  63. data/lib/bake/config/checks.rb +68 -68
  64. data/lib/bake/config/loader.rb +363 -363
  65. data/lib/bake/libElement.rb +176 -176
  66. data/lib/bake/mergeConfig.rb +208 -208
  67. data/lib/bake/model/language.rb +45 -45
  68. data/lib/bake/model/loader.rb +99 -99
  69. data/lib/bake/model/metamodel.rb +307 -307
  70. data/lib/bake/model/metamodel_ext.rb +27 -27
  71. data/lib/bake/options/create.rb +95 -95
  72. data/lib/bake/options/options.rb +315 -310
  73. data/lib/bake/options/showDoc.rb +20 -20
  74. data/lib/bake/options/showLicense.rb +9 -9
  75. data/lib/bake/options/showToolchains.rb +38 -38
  76. data/lib/bake/options/usage.rb +79 -68
  77. data/lib/bake/subst.rb +313 -313
  78. data/lib/bake/toolchain/clang.rb +44 -44
  79. data/lib/bake/toolchain/clang_analyze.rb +31 -31
  80. data/lib/bake/toolchain/colorizing_formatter.rb +125 -125
  81. data/lib/bake/toolchain/diab.rb +53 -53
  82. data/lib/bake/toolchain/errorparser/diab_compiler_error_parser.rb +40 -40
  83. data/lib/bake/toolchain/errorparser/diab_linker_error_parser.rb +41 -41
  84. data/lib/bake/toolchain/errorparser/error_parser.rb +71 -71
  85. data/lib/bake/toolchain/errorparser/gcc_compiler_error_parser.rb +35 -35
  86. data/lib/bake/toolchain/errorparser/gcc_linker_error_parser.rb +35 -35
  87. data/lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb +32 -32
  88. data/lib/bake/toolchain/errorparser/greenhills_linker_error_parser.rb +44 -44
  89. data/lib/bake/toolchain/errorparser/keil_compiler_error_parser.rb +40 -40
  90. data/lib/bake/toolchain/errorparser/keil_linker_error_parser.rb +30 -30
  91. data/lib/bake/toolchain/errorparser/lint_error_parser.rb +34 -34
  92. data/lib/bake/toolchain/errorparser/msvc_compiler_error_parser.rb +63 -63
  93. data/lib/bake/toolchain/errorparser/msvc_linker_error_parser.rb +42 -42
  94. data/lib/bake/toolchain/errorparser/process_output.rb +2 -2
  95. data/lib/bake/toolchain/errorparser/ti_compiler_error_parser.rb +30 -30
  96. data/lib/bake/toolchain/errorparser/ti_linker_error_parser.rb +30 -30
  97. data/lib/bake/toolchain/gcc.rb +49 -49
  98. data/lib/bake/toolchain/gcc_env.rb +55 -55
  99. data/lib/bake/toolchain/greenhills.rb +52 -52
  100. data/lib/bake/toolchain/keil.rb +53 -53
  101. data/lib/bake/toolchain/lint.rb +20 -20
  102. data/lib/bake/toolchain/msvc.rb +58 -58
  103. data/lib/bake/toolchain/provider.rb +146 -146
  104. data/lib/bake/toolchain/ti.rb +47 -47
  105. data/lib/bake/util.rb +149 -149
  106. data/lib/bakery/buildPattern.rb +24 -24
  107. data/lib/bakery/model/language.rb +22 -22
  108. data/lib/bakery/model/loader.rb +55 -55
  109. data/lib/bakery/model/metamodel.rb +48 -48
  110. data/lib/bakery/options/options.rb +87 -87
  111. data/lib/bakery/toBake.rb +81 -81
  112. data/lib/blocks/block.rb +324 -324
  113. data/lib/blocks/blockBase.rb +204 -204
  114. data/lib/blocks/commandLine.rb +38 -38
  115. data/lib/blocks/compile.rb +529 -528
  116. data/lib/blocks/convert.rb +41 -41
  117. data/lib/blocks/docu.rb +30 -30
  118. data/lib/blocks/executable.rb +174 -174
  119. data/lib/blocks/has_execute_command.rb +31 -31
  120. data/lib/blocks/library.rb +114 -114
  121. data/lib/blocks/lint.rb +56 -56
  122. data/lib/blocks/makefile.rb +100 -100
  123. data/lib/blocks/showIncludes.rb +140 -125
  124. data/lib/common/abortException.rb +4 -4
  125. data/lib/common/cleanup.rb +10 -10
  126. data/lib/common/exit_helper.rb +38 -38
  127. data/lib/common/ext/file.rb +88 -88
  128. data/lib/common/ext/rtext.rb +11 -11
  129. data/lib/common/ext/stdout.rb +45 -45
  130. data/lib/common/ide_interface.rb +194 -194
  131. data/lib/common/options/parser.rb +95 -85
  132. data/lib/common/process.rb +64 -64
  133. data/lib/common/utils.rb +52 -52
  134. data/lib/common/version.rb +31 -23
  135. data/lib/multithread/job.rb +44 -44
  136. data/lib/tocxx.rb +558 -555
  137. data/lib/vs/options.rb +69 -69
  138. data/license.txt +90 -90
  139. metadata +2 -2
@@ -1,50 +1,50 @@
1
- Internal developing notes
2
- *************************
3
-
4
- Socket
5
- ======
6
-
7
- If command line option --socket is used, bake tries to connect to the given port on localhost.
8
-
9
- send
10
- ----
11
-
12
- Header
13
- ^^^^^^
14
-
15
- .. code-block:: console
16
-
17
- 1 Byte: Type
18
- 4 Byte: Length (used to discard the paket if type is unknown to the listening application)
19
-
20
- Error packet (type 0x01)
21
- ^^^^^^^^^^^^^^^^^^^^^^^^
22
-
23
- .. code-block:: console
24
-
25
- 4 Byte: Length filename, project name
26
- x Byte: filename, project name
27
- 4 Byte: line number (can be 0)
28
- 1 Byte: severity (0x00 = info, 0x01 = warning, 0x02 = error, 0xFF = ok)
29
- x Byte: message (length = rest of packet)
30
-
31
- Starting build packet (type 0x0A)
32
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33
-
34
- .. code-block:: console
35
-
36
- 4 Byte: Length project name
37
- x Byte: project name
38
- 4 Byte: Length config name
39
- x Byte: config name
40
- 4 Byte: number of projects in this build (greater than 0)
41
-
42
- Building project packet
43
- ^^^^^^^^^^^^^^^^^^^^^^^
44
-
45
- Same as Starting build packet, except number of projects = 0
46
-
47
- receive
48
- -------
49
-
50
- If a byte is received, the build will be aborted.
1
+ Internal developing notes
2
+ *************************
3
+
4
+ Socket
5
+ ======
6
+
7
+ If command line option --socket is used, bake tries to connect to the given port on localhost.
8
+
9
+ send
10
+ ----
11
+
12
+ Header
13
+ ^^^^^^
14
+
15
+ .. code-block:: console
16
+
17
+ 1 Byte: Type
18
+ 4 Byte: Length (used to discard the paket if type is unknown to the listening application)
19
+
20
+ Error packet (type 0x01)
21
+ ^^^^^^^^^^^^^^^^^^^^^^^^
22
+
23
+ .. code-block:: console
24
+
25
+ 4 Byte: Length filename, project name
26
+ x Byte: filename, project name
27
+ 4 Byte: line number (can be 0)
28
+ 1 Byte: severity (0x00 = info, 0x01 = warning, 0x02 = error, 0xFF = ok)
29
+ x Byte: message (length = rest of packet)
30
+
31
+ Starting build packet (type 0x0A)
32
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33
+
34
+ .. code-block:: console
35
+
36
+ 4 Byte: Length project name
37
+ x Byte: project name
38
+ 4 Byte: Length config name
39
+ x Byte: config name
40
+ 4 Byte: number of projects in this build (greater than 0)
41
+
42
+ Building project packet
43
+ ^^^^^^^^^^^^^^^^^^^^^^^
44
+
45
+ Same as Starting build packet, except number of projects = 0
46
+
47
+ receive
48
+ -------
49
+
50
+ If a byte is received, the build will be aborted.
@@ -1,9 +1,9 @@
1
- Known Issues
2
- ============
3
-
4
- * Issue: If an archive or executable has been built successfully and one source file will be deleted without changing anything else, bake will leave the archive/executable unchanged when rebuilding.
5
- * Workaround 1: Clean the project.
6
- * Workaround 2: Delete the archive/executable manually.
7
- * Workaround 3: Touch, edit, create another source file.
8
-
9
- * Issue: Lint output not shown during linting (has to be refactored)
1
+ Known Issues
2
+ ============
3
+
4
+ * Issue: If an archive or executable has been built successfully and one source file will be deleted without changing anything else, bake will leave the archive/executable unchanged when rebuilding.
5
+ * Workaround 1: Clean the project.
6
+ * Workaround 2: Delete the archive/executable manually.
7
+ * Workaround 3: Touch, edit, create another source file.
8
+
9
+ * Issue: Lint output not shown during linting (has to be refactored)
@@ -1,4 +1,4 @@
1
- License
2
- =======
3
-
4
- .. include:: ../license.txt
1
+ License
2
+ =======
3
+
4
+ .. include:: ../license.txt
@@ -1,104 +1,104 @@
1
- Performance
2
- ===========
3
-
4
- Eclipse vs. bake
5
- ****************
6
-
7
- Test Environement
8
- -----------------
9
- ===================== ============== ================================================================
10
- Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
11
-
12
- *RAM:* 4 GB
13
-
14
- *OS :* Windows XP
15
-
16
- *HDD:* Raid
17
-
18
- Test-Application ~200 projects
19
- --------------------- ---------------------------------------------------------------------------------
20
- Ruby-Version ruby 1.9.2
21
- --------------------- ---------------------------------------------------------------------------------
22
- Tests-Runs 30
23
- ===================== ============== ================================================================
24
-
25
- Test Results
26
- ------------
27
-
28
- ================================= ================================= =====================================
29
- Test Eclipse 3.6.1, CDT 6 bake
30
- ================================= ================================= =====================================
31
- Build whole workspace 13:01 min 7:19 min
32
-
33
- Rebuild without clean 3:05 min 0:50 min
34
-
35
- Clean whole workspace 0:41 min 0:08 min
36
-
37
- Clean the cleaned workspace 0:35 min 0:02 min
38
- ================================= ================================= =====================================
39
-
40
- .. note::
41
- For the build `Eclipse` needs additional `300 MB of RAM`, in contrast `bake` takes up `35 MB` of RAM at it's peak.
42
-
43
- CMake with Unix makefiles vs. bake
44
- **********************************
45
-
46
- Test Environement
47
- -----------------
48
- ===================== ============== ================================================================
49
- Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
50
-
51
- *RAM:* 4 GB
52
-
53
- *OS :* Windows XP
54
-
55
- *HDD:* Raid
56
-
57
- Test-Application ~100 projects
58
- --------------------- ---------------------------------------------------------------------------------
59
- Ruby-Version \-
60
- --------------------- ---------------------------------------------------------------------------------
61
- Tests-Runs \-
62
- ===================== ============== ================================================================
63
-
64
- Test Results
65
- ------------
66
-
67
- * Build whole workspace: bake is `~10%` faster
68
- * Build again without clean: bake is `~50%` faster
69
- * Clean whole workspace: bake is `~80%` faster
70
-
71
-
72
- Performance using different rubies
73
- **********************************
74
-
75
- Test Environement
76
- -----------------
77
- ===================== ============== ================================================================
78
- Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
79
-
80
- *RAM:* 4 GB
81
-
82
- *OS :* Windows XP
83
-
84
- *HDD:* Raid
85
-
86
- Test-Application ~200 projects
87
- --------------------- ---------------------------------------------------------------------------------
88
- Tests-Runs 30
89
- ===================== ============== ================================================================
90
-
91
- Test Results
92
- ------------
93
-
94
- ===================== ================== ================== ================== ==================
95
- \ ruby 1.8.6p398 ruby 1.8.7p352 ruby 1.9.2p180 ruby 1.9.3p0
96
- ===================== ================== ================== ================== ==================
97
- Build whole workspace 13:58 min 8:07 min 7:19 min 7:28 min
98
-
99
- Build single file 1,20 sec 1,87 sec 2,38 sec 1,29 sec
100
- ===================== ================== ================== ================== ==================
101
-
102
- .. note::
103
- * ruby 1.8.6 uses only ONE native thread for multiple ruby threads.
104
- * ruby 1.9.2 for Windows needs very long to startup for complex applications, which is fixed in 1.9.3
1
+ Performance
2
+ ===========
3
+
4
+ Eclipse vs. bake
5
+ ****************
6
+
7
+ Test Environement
8
+ -----------------
9
+ ===================== ============== ================================================================
10
+ Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
11
+
12
+ *RAM:* 4 GB
13
+
14
+ *OS :* Windows XP
15
+
16
+ *HDD:* Raid
17
+
18
+ Test-Application ~200 projects
19
+ --------------------- ---------------------------------------------------------------------------------
20
+ Ruby-Version ruby 1.9.2
21
+ --------------------- ---------------------------------------------------------------------------------
22
+ Tests-Runs 30
23
+ ===================== ============== ================================================================
24
+
25
+ Test Results
26
+ ------------
27
+
28
+ ================================= ================================= =====================================
29
+ Test Eclipse 3.6.1, CDT 6 bake
30
+ ================================= ================================= =====================================
31
+ Build whole workspace 13:01 min 7:19 min
32
+
33
+ Rebuild without clean 3:05 min 0:50 min
34
+
35
+ Clean whole workspace 0:41 min 0:08 min
36
+
37
+ Clean the cleaned workspace 0:35 min 0:02 min
38
+ ================================= ================================= =====================================
39
+
40
+ .. note::
41
+ For the build `Eclipse` needs additional `300 MB of RAM`, in contrast `bake` takes up `35 MB` of RAM at it's peak.
42
+
43
+ CMake with Unix makefiles vs. bake
44
+ **********************************
45
+
46
+ Test Environement
47
+ -----------------
48
+ ===================== ============== ================================================================
49
+ Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
50
+
51
+ *RAM:* 4 GB
52
+
53
+ *OS :* Windows XP
54
+
55
+ *HDD:* Raid
56
+
57
+ Test-Application ~100 projects
58
+ --------------------- ---------------------------------------------------------------------------------
59
+ Ruby-Version \-
60
+ --------------------- ---------------------------------------------------------------------------------
61
+ Tests-Runs \-
62
+ ===================== ============== ================================================================
63
+
64
+ Test Results
65
+ ------------
66
+
67
+ * Build whole workspace: bake is `~10%` faster
68
+ * Build again without clean: bake is `~50%` faster
69
+ * Clean whole workspace: bake is `~80%` faster
70
+
71
+
72
+ Performance using different rubies
73
+ **********************************
74
+
75
+ Test Environement
76
+ -----------------
77
+ ===================== ============== ================================================================
78
+ Test-System *CPU:* Intel Xeon W3520 (4x 2.67 GHz)
79
+
80
+ *RAM:* 4 GB
81
+
82
+ *OS :* Windows XP
83
+
84
+ *HDD:* Raid
85
+
86
+ Test-Application ~200 projects
87
+ --------------------- ---------------------------------------------------------------------------------
88
+ Tests-Runs 30
89
+ ===================== ============== ================================================================
90
+
91
+ Test Results
92
+ ------------
93
+
94
+ ===================== ================== ================== ================== ==================
95
+ \ ruby 1.8.6p398 ruby 1.8.7p352 ruby 1.9.2p180 ruby 1.9.3p0
96
+ ===================== ================== ================== ================== ==================
97
+ Build whole workspace 13:58 min 8:07 min 7:19 min 7:28 min
98
+
99
+ Build single file 1,20 sec 1,87 sec 2,38 sec 1,29 sec
100
+ ===================== ================== ================== ================== ==================
101
+
102
+ .. note::
103
+ * ruby 1.8.6 uses only ONE native thread for multiple ruby threads.
104
+ * ruby 1.9.2 for Windows needs very long to startup for complex applications, which is fixed in 1.9.3
@@ -1,70 +1,70 @@
1
- Quickstart
2
- ==========
3
-
4
- #. Create a project directory.
5
- .. code-block:: console
6
-
7
- User@Host:~$ mkdir my_project
8
-
9
-
10
- #. Switch to the project directory.
11
- .. code-block:: console
12
-
13
- User@Host:~$ cd my_project
14
-
15
-
16
- #. Use the bake --create option to auto generate a basic project.
17
- .. code-block:: console
18
-
19
- User@Host:~/my_project$ bake --create exe
20
- -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
21
- Project created.
22
-
23
- Time: 00:00 minutes
24
-
25
- This will provide you with the follwing basic project structure which is ready to use
26
-
27
- .. code-block:: console
28
-
29
- my_project
30
- |
31
- |-- Project.meta
32
- |-- include
33
- `-- src
34
- `-- main.cpp
35
-
36
-
37
- #. Build the project.
38
- .. code-block:: console
39
-
40
- User@Host:~/my_project$ bake
41
- -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
42
- Info: cache not found, reloading meta information
43
- Loading /Users/NiCoretti/my_project/Project.meta
44
- **** Building 1 of 1: my_project (main) ****
45
- Compiling src/main.cpp
46
- Linking build/main/my_project.exe
47
-
48
- Building done.
49
-
50
- Time: 00:00 minutes
51
-
52
- If you want a more detailed and colored output use the following command:
53
-
54
- .. code-block:: console
55
-
56
- User@Host:~/my_project$ bake -v2 -a black
57
- -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
58
- **** Building 1 of 1: my_project (main) ****
59
-
60
- g++ -c -MD -MF build/main/src/main.d -Iinclude -o build/main/src/main.o src/main.cpp
61
-
62
- g++ -o build/main/my_project.exe build/main/src/main.o
63
-
64
- Building done.
65
-
66
- Time: 00:00 minutes
67
-
68
- .. note::
69
- The default main.cpp which is created by bake does nothing except returning the exit code 0.
70
-
1
+ Quickstart
2
+ ==========
3
+
4
+ #. Create a project directory.
5
+ .. code-block:: console
6
+
7
+ User@Host:~$ mkdir my_project
8
+
9
+
10
+ #. Switch to the project directory.
11
+ .. code-block:: console
12
+
13
+ User@Host:~$ cd my_project
14
+
15
+
16
+ #. Use the bake --create option to auto generate a basic project.
17
+ .. code-block:: console
18
+
19
+ User@Host:~/my_project$ bake --create exe
20
+ -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
21
+ Project created.
22
+
23
+ Time: 00:00 minutes
24
+
25
+ This will provide you with the follwing basic project structure which is ready to use
26
+
27
+ .. code-block:: console
28
+
29
+ my_project
30
+ |
31
+ |-- Project.meta
32
+ |-- include
33
+ `-- src
34
+ `-- main.cpp
35
+
36
+
37
+ #. Build the project.
38
+ .. code-block:: console
39
+
40
+ User@Host:~/my_project$ bake
41
+ -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
42
+ Info: cache not found, reloading meta information
43
+ Loading /Users/NiCoretti/my_project/Project.meta
44
+ **** Building 1 of 1: my_project (main) ****
45
+ Compiling src/main.cpp
46
+ Linking build/main/my_project.exe
47
+
48
+ Building done.
49
+
50
+ Time: 00:00 minutes
51
+
52
+ If you want a more detailed and colored output use the following command:
53
+
54
+ .. code-block:: console
55
+
56
+ User@Host:~/my_project$ bake -v2 -a black
57
+ -- bake 2.10.3, ruby 2.1.2p95, platform x86_64-darwin13.0 --
58
+ **** Building 1 of 1: my_project (main) ****
59
+
60
+ g++ -c -MD -MF build/main/src/main.d -Iinclude -o build/main/src/main.o src/main.cpp
61
+
62
+ g++ -o build/main/my_project.exe build/main/src/main.o
63
+
64
+ Building done.
65
+
66
+ Time: 00:00 minutes
67
+
68
+ .. note::
69
+ The default main.cpp which is created by bake does nothing except returning the exit code 0.
70
+