blob: b80261161cf98f9f49f4851770b79fce79a5ebc9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
Project Delcarations
--------------------
project(project_name) : baseproject, anotherbaseproject {
exename = foo
includes += "."
libpaths = directory
idlflags -= -Sc
Source_Files {
file1.cpp
file2.cpp
.
.
fileN.cpp
}
Header_Files {
file1.h
file2.h
.
.
fileN.h
}
}
The (project_name) part of the project declaration is optional. If it is
left off, the project name will default to the directory name. Inheritance
is optional.
Project Keywords
----------------
exename Specifies the name of the executable that will be created
sharedname Specifies the name of the shared library that will be created
staticname Specifies the name of the static library that will be created
dllout (Windows Only) Specifies where the dll will be placed
libout (Windows Only) Specifies where the lib will be placed
install Specifies where the executable (or library non-Windows) will go
idlflags Specifies the idl flags to be used when processing idl files
idlpreprocessor Simple assignment used in the gnu template only
pch_header Specifies the precompiled header file name
pch_source Specifies the precompiled source file name
tao Specifies that the project will use TAO
libpaths Specifies 1 or more locations to find libraries
includes Specifies 1 or more locations to find include files
libs Specifies 1 or more libraries to link into the exe or library
defaultlibs Specifies 1 or more default libraries to link in
depends Specifies 1 or more projects upon which this project depends
dllflags (Windows Only) Specifies preprocessor flags needed for dll's
libflags (Windows Only) Specifies preprocessor flags needed for lib's
Special Keywords Available to Templates
---------------------------------------
project_name This contains the name of the project.
project_file This contains the name of the output file.
guid This is used by the VC7 project and workspace creator.
configurations When used within a foreach context, this info (each
configuration) is gathered for use with the VC7 workspace
creator.
Defaulting Behavior
-------------------
1) If a project name is not specified
it will be defaulted to the name of the current directory
2) If a particular list is not specified (Source_Files, Header_Files, etc.)
all of the files in the directory will be added to the corresponding list
by extension
3) If idl files exist in the directory and
the IDL_Files components are left defaulted (i.e. not listed) and
none of the idl generated files are listed in the corresponding lists
the project is assumed to be a TAO project, the idl files are added to
the IDL_Files list and all of the (would be) generated files will be
added to the front of the corresponding lists (source, inline and
header lists)
4) If files are listed in the Source_Files list and
a corresponding header or inline file exists
the corresponding file will be added to the corresponding list (if it
isn't already there)
5) If a sharedname is specified and staticname is not
staticname is assigned the sharedname value (the same applies if
staticname is specified and sharedname is not)
6) If a target name is not listed (exename, sharedname or staticname)
it is assumed that the target is a library and the name chosen matches
the name of the current directory
7) If pch_header is not specified and a header file matches *_pch.h
it is assumed to be the precompiled header file (the same applies to
pch_source)
Processing Order
----------------
1) Project file is read
2) Template input file is read
3) Template file is read
4) Output project is written
|