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 file

Inheritable 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 file

Inheritable 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 file

Inheritable 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 file

Inheritable 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 file

Inheritable 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 file

Inheritable 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