bake-toolkit 1.0.24 → 1.0.25
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 +7 -0
- data/bin/bake-doc +12 -0
- data/doc/cmd/install.html +78 -0
- data/doc/cmd/mount.png +0 -0
- data/doc/cmd/ruby.png +0 -0
- data/doc/cmd/tty.png +0 -0
- data/doc/cmd/usecmd.html +56 -0
- data/doc/cmd/usecygwin.html +49 -0
- data/doc/concepts/buildhierarchy.html +42 -0
- data/doc/concepts/configfile.html +102 -0
- data/doc/concepts/hier.png +0 -0
- data/doc/concepts/mainproject.html +87 -0
- data/doc/dyk/keys.png +0 -0
- data/doc/dyk/tipps.html +51 -0
- data/doc/eclipse/export.html +39 -0
- data/doc/eclipse/import.html +29 -0
- data/doc/eclipse/install.html +26 -0
- data/doc/eclipse/new.html +17 -0
- data/doc/eclipse/use.html +56 -0
- data/doc/further/change.html +160 -0
- data/doc/further/collections.html +21 -0
- data/doc/further/internal.html +42 -0
- data/doc/further/issues.html +18 -0
- data/doc/further/perf.html +54 -0
- data/doc/further/wish.html +39 -0
- data/doc/index.html +78 -0
- data/doc/src/ok.png +0 -0
- data/doc/syntax/derive.html +89 -0
- data/doc/syntax/subst.html +103 -0
- data/doc/syntax/syntax.html +587 -0
- data/doc/vs/create.html +16 -0
- data/doc/vs/install.html +28 -0
- data/doc/vs/use.html +24 -0
- data/lib/bake/mergeConfig.rb +108 -0
- data/lib/bake/model/metamodel.rb +1 -0
- data/lib/bake/version.rb +2 -2
- data/lib/tocxx.rb +39 -12
- metadata +95 -58
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9ca9ccfe3056eb950562ce0ff7dfa59989a4241f
|
4
|
+
data.tar.gz: 80a039718903f6c56726910850b754f56d03e0f8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 62ba7c9c7a3c79c611d2005e5454fb2fb8fde97a556e0f4f068dc739551e594c4f08913ef0bf59d1f87da90801646147a65c43208970c1ba02e26ec5d81d9f21
|
7
|
+
data.tar.gz: ae15cc72a84f9e6283fe14652b150bc8f09031fbf4a71b75d5a0fd1b468007c8f7aa857773da2a822193ef8812fbfc470f5df5a10dcf353be3007dd959751c75
|
data/bin/bake-doc
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
link = File.expand_path(File.dirname(__FILE__)+"/../doc/index.html")
|
4
|
+
if RUBY_PLATFORM =~ /mswin|mingw|cygwin/
|
5
|
+
system "start #{link}"
|
6
|
+
elsif RUBY_PLATFORM =~ /darwin/
|
7
|
+
system "open #{link}"
|
8
|
+
elsif RUBY_PLATFORM =~ /linux|bsd/
|
9
|
+
system "xdg-open #{link}"
|
10
|
+
else
|
11
|
+
puts "Please open #{link} manually in your browser."
|
12
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
<style type="text/css">
|
6
|
+
#rundrum {
|
7
|
+
border-width:1px;
|
8
|
+
border-style:dashed;
|
9
|
+
border-color:blue;
|
10
|
+
padding:0.2cm;
|
11
|
+
text-align:justify; }
|
12
|
+
}
|
13
|
+
</style>
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
<h1>How to install bake command line tool</h1>
|
17
|
+
|
18
|
+
bake is a ruby gem. It runs with ruby 1.8.6 and above. However, it is <b>highly recommended</b>, that you use <b>ruby 1.9.x</b>, because of a <b>significant speed improvement</b>.
|
19
|
+
<p>
|
20
|
+
bake and its depedencies can be found on rubygems, which is configured as ruby source per default. Type "gem sources" if you wish to check that.<br>
|
21
|
+
Installing bake is very easy:
|
22
|
+
<pre id="rundrum"><code>gem install bake-toolkit</code></pre>
|
23
|
+
<p>
|
24
|
+
|
25
|
+
This is how the installation could look like:
|
26
|
+
|
27
|
+
|
28
|
+
<pre id="rundrum"><code>>>> gem install bake-toolkit
|
29
|
+
Fetching: highline-1.6.15.gem (100%)
|
30
|
+
Fetching: colored-1.2.gem (100%)
|
31
|
+
Fetching: progressbar-0.11.0.gem (100%)
|
32
|
+
Fetching: cxxproject-0.5.59.gem (100%)
|
33
|
+
Fetching: rgen-0.6.0.gem (100%)
|
34
|
+
Fetching: rtext-0.2.0.gem (100%)
|
35
|
+
Fetching: bake-toolkit-1.0.2.gem (100%)
|
36
|
+
Successfully installed highline-1.6.15
|
37
|
+
Successfully installed colored-1.2
|
38
|
+
Successfully installed progressbar-0.11.0
|
39
|
+
Successfully installed cxxproject-0.5.59
|
40
|
+
Successfully installed rgen-0.6.0
|
41
|
+
Successfully installed rtext-0.2.0
|
42
|
+
Successfully installed bake-toolkit-1.0.2
|
43
|
+
7 gems installed
|
44
|
+
Installing ri documentation for highline-1.6.15...
|
45
|
+
Installing ri documentation for colored-1.2...
|
46
|
+
Installing ri documentation for progressbar-0.11.0...
|
47
|
+
Installing ri documentation for cxxproject-0.5.59...
|
48
|
+
Installing ri documentation for rgen-0.6.0...
|
49
|
+
Installing ri documentation for rtext-0.2.0...
|
50
|
+
Installing ri documentation for bake-toolkit-1.0.2...
|
51
|
+
Installing RDoc documentation for highline-1.6.15...
|
52
|
+
Installing RDoc documentation for colored-1.2...
|
53
|
+
Installing RDoc documentation for progressbar-0.11.0...
|
54
|
+
Installing RDoc documentation for cxxproject-0.5.59...
|
55
|
+
Installing RDoc documentation for rgen-0.6.0...
|
56
|
+
Installing RDoc documentation for rtext-0.2.0...
|
57
|
+
Installing RDoc documentation for bake-toolkit-1.0.2...</code></pre>
|
58
|
+
|
59
|
+
<h2>Problems</h2>
|
60
|
+
<ul>
|
61
|
+
<li>If the installation does not start, it might be a problem of a password protected internet proxy. Unlock the proxy by opening an external webpage e.g. google.
|
62
|
+
|
63
|
+
<li>Note, that the error parsers in bake assume English language. It depends on the system and compiler how to switch the language. One possibility is to set the environment variable LC_ALL:
|
64
|
+
|
65
|
+
<pre id="rundrum"><code>LC_ALL=en_US</code></pre>
|
66
|
+
|
67
|
+
<li>Don't worry if you get an error like this:
|
68
|
+
|
69
|
+
<pre id="rundrum"><code>ERROR: While generating documentation for ...
|
70
|
+
... MESSAGE: Error while evaluating ...
|
71
|
+
undefined method `gsub' for nil:NilClass ...</code></pre>
|
72
|
+
It's a ruby bug. However, the gems were installed correctly. You can avoid building the documentation by installing bake like this:
|
73
|
+
|
74
|
+
<pre id="rundrum"><code> gem install bake-toolkit --no-rdoc --no-ri</code></pre>
|
75
|
+
</ul>
|
76
|
+
</body>
|
77
|
+
|
78
|
+
</html>
|
data/doc/cmd/mount.png
ADDED
Binary file
|
data/doc/cmd/ruby.png
ADDED
Binary file
|
data/doc/cmd/tty.png
ADDED
Binary file
|
data/doc/cmd/usecmd.html
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
<style type="text/css">
|
6
|
+
#rundrum {
|
7
|
+
border-width:1px;
|
8
|
+
border-style:dashed;
|
9
|
+
border-color:blue;
|
10
|
+
padding:0.2cm;
|
11
|
+
text-align:justify; }
|
12
|
+
}
|
13
|
+
</style>
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
<h1>How to use bake on command line</h1>
|
17
|
+
Call <b>bake -h</b> to display the command line options.
|
18
|
+
<p>
|
19
|
+
The most important options are:
|
20
|
+
<ul>
|
21
|
+
<li><b>-b</b> the build configuration name
|
22
|
+
<li><b>-m</b> the main project directory (default is current directory)
|
23
|
+
<li><b>-p</b> the project to build (if not specified, the main project will be built with all dependencies)
|
24
|
+
</ul>
|
25
|
+
|
26
|
+
<h2>Examples</h2>
|
27
|
+
|
28
|
+
If you want to build your application, switch to the directory of the main project and call (assuming "Debug" is a valid build setup name):
|
29
|
+
|
30
|
+
<pre id="rundrum"><code>bake -b Debug</code></pre>
|
31
|
+
|
32
|
+
If you are not in the directory of the main project you want to build:
|
33
|
+
|
34
|
+
<pre id="rundrum"><code>bake -b Debug -m w:/root/mainProj</code></pre>
|
35
|
+
|
36
|
+
Code has been checked out into two roots, the console supports ansi colors, you want to stop on first error and build only the project bspAbc:
|
37
|
+
|
38
|
+
<pre id="rundrum"><code>bake -b Debug -m w:/root1/myProj -w w:/root1 -w w:/root2 -r -a black -p bspAbc</code></pre>
|
39
|
+
|
40
|
+
To clean the project(s), just add "-c".
|
41
|
+
|
42
|
+
<h2>roots.bake</h2>
|
43
|
+
|
44
|
+
Workspace roots can be defined in a file called "roots.bake", which will be searched from main project directory to root folder. Example:
|
45
|
+
|
46
|
+
<pre id="rundrum"><code>../..
|
47
|
+
C:/another/root
|
48
|
+
something/else</code></pre>
|
49
|
+
|
50
|
+
If -w and roots.bake are not specified, the default workspace root is the parent directory of the main project.
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
</body>
|
55
|
+
|
56
|
+
</html>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
<style type="text/css">
|
6
|
+
#rundrum {
|
7
|
+
border-width:1px;
|
8
|
+
border-style:dashed;
|
9
|
+
border-color:blue;
|
10
|
+
padding:0.2cm;
|
11
|
+
text-align:justify; }
|
12
|
+
}
|
13
|
+
</style>
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
<h1>How to use bake in Cygwin</h1>
|
17
|
+
|
18
|
+
Why using Cygwin on Windows instead of the built-in command shell? There is one major reason: Cygwin supports <b>colored output</b> via ansi escape sequences.
|
19
|
+
<br>
|
20
|
+
Note, that these steps differ depending on the Cygwin version, installed packages and configuration.
|
21
|
+
|
22
|
+
<h2>Get rid of the cygdrive prefix</h2>
|
23
|
+
<img src="mount.png"/><br>
|
24
|
+
As you see, "c:" is now "/c" and not "/cygdrive/c" anymore.
|
25
|
+
<br>
|
26
|
+
<b>In newer Cygwin versions, this is not permanent.</b> To make it permanent, add the following line to <b>/etc/fstab</b> (can be found in your Cygwin installation directory):
|
27
|
+
|
28
|
+
<pre id="rundrum"><code>none / cygdrive binary,posix=0,user 0 0</code></pre>
|
29
|
+
|
30
|
+
<h2>Get rid of the Cygwin ruby</h2>
|
31
|
+
<img src="ruby.png"/><br>
|
32
|
+
Easiest way is to rename the Cygwin ruby, which makes the original ruby visible. This is only necessary if you have ruby installed in our Cygwin environment.
|
33
|
+
|
34
|
+
<h2>Add tty to CYGWIN option</h2>
|
35
|
+
<img src="tty.png"/><br>
|
36
|
+
"tty" must be added to the CYGWIN system variable.
|
37
|
+
|
38
|
+
<h2>Start the build</h2>
|
39
|
+
|
40
|
+
Use the parameter "-a black" or "-a white" depending on the background color of your shell.
|
41
|
+
<p>
|
42
|
+
Depending on your Cygwin installation, you have to call "bake.bat" instead of "bake". To avoid this, create an alias, e.g:
|
43
|
+
|
44
|
+
<pre id="rundrum"><code>alias bake=/c/Programme/_dev/Ruby192/bin/bake.bat</code></pre>
|
45
|
+
|
46
|
+
|
47
|
+
</body>
|
48
|
+
|
49
|
+
</html>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>The build hierarchy</h1>
|
8
|
+
|
9
|
+
<h2>Build graph</h2>
|
10
|
+
|
11
|
+
Depending on the contents of the Project.meta files, a build graph will be generated.
|
12
|
+
<ul>
|
13
|
+
<li>An ExecutableConfig usally specifies files to compile, dependencies to other projects and linker stuff.
|
14
|
+
<li>A LibraryConfig usally specifies files to compile and archive.
|
15
|
+
<li>A CustomConfig usually defines a custom step.
|
16
|
+
</ul>
|
17
|
+
Every config type can be equipped with pre and post steps like shell commands or makefiles.
|
18
|
+
|
19
|
+
All these steps will be combined to a build graph.
|
20
|
+
|
21
|
+
<h2>Example</h2>
|
22
|
+
|
23
|
+
The main project has dependencies to the projects A, B and C:<br>
|
24
|
+
<img src="hier.png"/>
|
25
|
+
<br>
|
26
|
+
Steps are executed bottom-up. If one step fails, all steps above won't be executed.
|
27
|
+
<p>
|
28
|
+
If e.g.
|
29
|
+
<ul>
|
30
|
+
<li>PreStepMain 2 fails
|
31
|
+
<li>at least one file of library B does not compile
|
32
|
+
</ul>
|
33
|
+
then
|
34
|
+
<ul>
|
35
|
+
<li>library B will not be created
|
36
|
+
<li>files of the main project will not be compiled
|
37
|
+
<li>main project will not be linked
|
38
|
+
<li>post step of main project will not be executed
|
39
|
+
</ul>
|
40
|
+
</body>
|
41
|
+
|
42
|
+
</html>
|
@@ -0,0 +1,102 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
<style type="text/css">
|
6
|
+
#rundrum {
|
7
|
+
border-width:1px;
|
8
|
+
border-style:dashed;
|
9
|
+
border-color:blue;
|
10
|
+
padding:0.2cm;
|
11
|
+
text-align:justify; }
|
12
|
+
}
|
13
|
+
</style>
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
<h1>The configuration file Project.meta</h1>
|
17
|
+
<ul>
|
18
|
+
<li>Every project has a Project.meta file in the project root directory.
|
19
|
+
<li>A Project.meta file contains one or more build configurations.
|
20
|
+
<li>A build configuration consists of toolchain settings, files to build, custom steps, etc.
|
21
|
+
</ul>
|
22
|
+
<h2>Example</h2>
|
23
|
+
|
24
|
+
<table border="1">
|
25
|
+
<tr>
|
26
|
+
<th bgcolor="#CCCCCC">Project.meta of Main</th>
|
27
|
+
<th bgcolor="#CCCCCC">Project.meta of Sub</th>
|
28
|
+
</tr>
|
29
|
+
<tr>
|
30
|
+
<td><pre><code>Project {
|
31
|
+
ExecutableConfig Debug {
|
32
|
+
Dependency Sub, config: Debug
|
33
|
+
Files "**/*.cpp"
|
34
|
+
IncludeDir "include"
|
35
|
+
DefaultToolchain GCC {
|
36
|
+
Compiler CPP {
|
37
|
+
Flags "-Wall"
|
38
|
+
}
|
39
|
+
}
|
40
|
+
PostSteps {
|
41
|
+
CommandLine "echo $(ArtifactName) built."
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}</code></pre></td>
|
45
|
+
<td><pre><code>Project {
|
46
|
+
LibraryConfig Debug {
|
47
|
+
Files "**/*.cpp"
|
48
|
+
IncludeDir "include"
|
49
|
+
IncludeDir "Main/include"
|
50
|
+
ExternalLibrarySearchPath "lib"
|
51
|
+
ExternalLibrary "a"
|
52
|
+
ExternalLibrary "b"
|
53
|
+
Toolchain {
|
54
|
+
Compiler CPP {
|
55
|
+
Flags add: "-g3"
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}</code></pre></td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
<br>
|
63
|
+
Let's assume that Main and Sub are located in the same workspace root. To build the executable, bake can be called from the Main directory:
|
64
|
+
|
65
|
+
<pre id="rundrum"><code>bake -b Debug</code></pre>
|
66
|
+
|
67
|
+
What happens now?
|
68
|
+
|
69
|
+
<ol>
|
70
|
+
<li>Reading Project.meta of Main
|
71
|
+
<li>Reading Project.meta of dependencies (Sub)
|
72
|
+
<li>Compiling sources of Sub, e.g.:
|
73
|
+
|
74
|
+
<pre id="rundrum"><code>g++ -c -Wall -g3 -Iinclude -I../Main/include -o Debug_Main/src/xy.o src/xy.cpp</code></pre>
|
75
|
+
<ul>
|
76
|
+
<li>-Wall is taken from the DefaultToolchain and -g3 is added by the toolchain of the Sub project.
|
77
|
+
<li>The include path to Main is automatically adjusted.
|
78
|
+
<li>The order of includes is the same as in Project.meta.
|
79
|
+
<li>g++, -c and -I are used, because GCC was specified in the DefaultToolchain.
|
80
|
+
</ul>
|
81
|
+
|
82
|
+
<li>Archiving the library, e.g.:
|
83
|
+
|
84
|
+
<pre id="rundrum"><code>ar -rc Debug_Main/libSub.a Debug_Main/src/xy.o</code></pre>
|
85
|
+
|
86
|
+
<li>Compiling sources of Main, e.g.:
|
87
|
+
|
88
|
+
<pre id="rundrum"><code>g++ -c -Wall -Iinclude -o Debug/src/main.o src/main.cpp</code></pre>
|
89
|
+
|
90
|
+
<li>Linking executable, e.g.:
|
91
|
+
|
92
|
+
<pre id="rundrum"><code>g++ -o Debug/Main.exe Debug/src/main.o ../Sub/Debug_Main/libSub.a -L../Sub/lib -la -lb</code></pre>
|
93
|
+
|
94
|
+
The library search paths and libraries are added in the specified order.
|
95
|
+
<li>Executing the post step
|
96
|
+
|
97
|
+
<pre id="rundrum"><code>echo Main.exe built.</code></pre>
|
98
|
+
The variable was automatically substituted.
|
99
|
+
|
100
|
+
</body>
|
101
|
+
|
102
|
+
</html>
|
Binary file
|
@@ -0,0 +1,87 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Documentation of the bake-tookit</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>The main project</h1>
|
8
|
+
The concept of the main project is different to many other build systems like Eclipse CDT.<br>
|
9
|
+
In these build systems everything which is needed for a project is configured in the project itself.<br>
|
10
|
+
In bake the main project can predefine stuff for all subprojects.
|
11
|
+
<p>
|
12
|
+
The main project can have a DefaultToolchain definition, which is valid for all projects and files referenced by the main project. Subprojects can overwrite or adjust these definitions.
|
13
|
+
<p>
|
14
|
+
Projects are always built in context of the main project.
|
15
|
+
<p>
|
16
|
+
To build a project, you have to specify
|
17
|
+
<ul>
|
18
|
+
<li>the main project
|
19
|
+
<li>the config of the main project which references the project to build
|
20
|
+
<li>the (sub)project to build if applicable
|
21
|
+
</ul>
|
22
|
+
<h2>Advantages</h2>
|
23
|
+
<ul>
|
24
|
+
<li>Reducing the number of build configurations (toolchain settings like debug or release flags can be set outside of the project)
|
25
|
+
<li>Most projects do not have any compiler definitions anymore
|
26
|
+
<li>Only flags which must be used or flags which must not be used have to be specified in the projects
|
27
|
+
<li>Changing compiler definitions for all projects can be done easily in the main project build configuration
|
28
|
+
</ul>
|
29
|
+
<h2>Example</h2>
|
30
|
+
<table border="1">
|
31
|
+
<tr>
|
32
|
+
<th bgcolor="#CCCCCC">Project.meta of Main (Debug and Release) </th>
|
33
|
+
<th bgcolor="#CCCCCC">Project.meta of Sub (only one build config!) </th>
|
34
|
+
</tr>
|
35
|
+
<tr>
|
36
|
+
<td><pre><code>Project {
|
37
|
+
|
38
|
+
ExecutableConfig Debug {
|
39
|
+
Dependency Sub, config: Lib
|
40
|
+
Files "**/*.cpp"
|
41
|
+
IncludeDir "include"
|
42
|
+
DefaultToolchain GCC {
|
43
|
+
Compiler CPP {
|
44
|
+
Flags "... whatever -debug_info"
|
45
|
+
Define "DEBUG"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
ExecutableConfig Release {
|
51
|
+
Dependency Sub, config: Lib
|
52
|
+
Files "**/*.cpp"
|
53
|
+
IncludeDir "include"
|
54
|
+
DefaultToolchain GCC {
|
55
|
+
Compiler CPP {
|
56
|
+
Flags "... whatever -optimize"
|
57
|
+
Define "NDEBUG"
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
}</code></pre></td>
|
63
|
+
<td><pre><code>Project {
|
64
|
+
|
65
|
+
LibraryConfig Lib {
|
66
|
+
Files "**/*.cpp"
|
67
|
+
IncludeDir "include"
|
68
|
+
}
|
69
|
+
|
70
|
+
}</code></pre></td>
|
71
|
+
</tr>
|
72
|
+
</table>
|
73
|
+
|
74
|
+
A main project must have a DefaultToolchain - but it's allowed to leave that definition empty.
|
75
|
+
|
76
|
+
<h2>Output directory</h2>
|
77
|
+
|
78
|
+
A project in a specific build configuration can be build in different contexts. That's why the output directory of a project cannot be simply the build configuration name of the project to avoid inconsistencies.
|
79
|
+
Therefore the output directory names are:
|
80
|
+
<ul>
|
81
|
+
<li>Main project: $(MainConfigName) like in regular Eclipse CDT builds
|
82
|
+
<li>Subprojects: $(MainConfigName)_$(MainProjectName) instead of the config name of the subproject
|
83
|
+
</ul>
|
84
|
+
|
85
|
+
</body>
|
86
|
+
|
87
|
+
</html>
|