configmap
Map workspace level configuration and platforms to a different project configuration or platform.
configmap {
[{ wks_cfg }] = { prj_cfg },
You may map multiple configurations in a single configuration map.
Parameters
wks_cfg
is the workspace configuration being mapped. It can be a string representing a build configuration or a platform, or a table holding a build configuration/platform pair.
prj_cfg
is the project configuration to which the workspace configuration should be mapped. It may also be a string or a build configuration/platform pair.
Applies To
Projects.
Availability
5.0 or later.
Examples
The workspace contains four build configurations, while the project contains only the standard Debug and Release. Map the extra workspace configurations to Debug and Release.
workspace "MyWorkspace"
configurations { "Debug", "Development", "Profile", "Release" }
project "MyProject"
configmap {
["Development"] = "Debug",
["Profile"] = "Release",
}
It can be useful to specify a map globally for a workspace, but only apply it if the target configuration is actually present in the project. In this example, host executables can be built for either Windows or Mac, while some projects build for an embedded controller. Any project that uses the special "Embedded" platform will receive the configuration map.
workspace "MyWorkspace"
configurations { "Debug", "Release" }
platforms { "Windows", "Mac" }
filter { "platforms:Embedded" }
configmap {
["Windows"] = "Embedded",
["Mac"] = "Embedded"
}
-- this project gets the configuration map, because it defines an "Embedded" platform
project "MyEmbeddedProject"
platforms { "Embedded" }
-- this one does not
project "MyHostProject"