4.5.2. External build system (external)¶
External build system.
This target type is used to invoke makefiles or project files not implemented in Bakefile, for example to build 3rd party libraries.
Currently, only Visual Studio projects (vcproj, vcxproj, csproj) are supported and only when using a Visual Studio toolset.
4.5.2.1. Properties¶
file (type: path)
File name of the external makefile or project.
Required property
Inheritable from parent: no
id (type: id)
Target’s unique name (ID).
Read-only property
Inheritable from parent: no
deps (type: list of ids)
Dependencies of the target (list of IDs).
The dependencies are handled in target-specific ways. At the very least, they are added to the list of dependencies in generated makefiles or projects to ensure correct build order. Some targets may be smart about some kinds of the dependencies and do more.
In particular, compiled targets (executables, DLLs) will automatically link against all libraries found in deps.
Default: empty
Inheritable from parent: no
pre-build-commands (type: list of strings)
Custom commands to run before building the target.
The value is a list of shell commands to run. Notice that the commands are platform-specific and so typically need to be set conditionally depending on the value of
toolset
.Currently only implemented by Visual Studio.
Default: empty
Inheritable from parent: no
post-build-commands (type: list of strings)
Custom commands to run after building the target.
The value is a list of shell commands to run. Notice that the commands are platform-specific and so typically need to be set conditionally depending on the value of
toolset
.Currently only implemented by Visual Studio.
Default: empty
Inheritable from parent: no
configurations (type: list of strings)
List of configurations to use for this target.
See Build configurations for more information.
Default: Debug Release
Inheritable from parent: yes
vs2008.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2008 (vs2008)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2008.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2008 (vs2008)
Default: automatically generated
Inheritable from parent: no
vs2005.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2005 (vs2005)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2005.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2005 (vs2005)
Default: automatically generated
Inheritable from parent: no
vs2012.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2012 (vs2012)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2012.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2012 (vs2012)
Default: automatically generated
Inheritable from parent: no
vs2013.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2013 (vs2013)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2013.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2013 (vs2013)
Default: automatically generated
Inheritable from parent: no
vs2003.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2003 (vs2003)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2003.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2003 (vs2003)
Default: automatically generated
Inheritable from parent: no
vs2010.projectfile (type: path)
File name of the project for the target.
Only for toolsets: Visual Studio 2010 (vs2010)
Default:
$(id).vcxproj
in the same directory as the.sln
fileInheritable from parent: no
vs2010.guid (type: string)
GUID of the project.
Only for toolsets: Visual Studio 2010 (vs2010)
Default: automatically generated
Inheritable from parent: no