Added systemversion API. Fixes #315
This commit is contained in:
parent
870d21f382
commit
5059099a5b
@ -966,6 +966,12 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
api.register {
|
||||||
|
name = "systemversion",
|
||||||
|
scope = "project",
|
||||||
|
kind = "string",
|
||||||
|
}
|
||||||
|
|
||||||
api.register {
|
api.register {
|
||||||
name = "targetdir",
|
name = "targetdir",
|
||||||
scope = "config",
|
scope = "config",
|
||||||
|
@ -127,6 +127,7 @@
|
|||||||
m.ignoreWarnDuplicateFilename,
|
m.ignoreWarnDuplicateFilename,
|
||||||
m.keyword,
|
m.keyword,
|
||||||
m.projectName,
|
m.projectName,
|
||||||
|
m.targetPlatformVersion,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1924,6 +1925,14 @@
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function m.targetPlatformVersion(prj)
|
||||||
|
local min = project.systemversion(prj)
|
||||||
|
if min ~= nil and _ACTION >= "vs2015" then
|
||||||
|
m.element("WindowsTargetPlatformVersion", nil, min)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function m.treatLinkerWarningAsErrors(cfg)
|
function m.treatLinkerWarningAsErrors(cfg)
|
||||||
if cfg.flags.FatalLinkWarnings then
|
if cfg.flags.FatalLinkWarnings then
|
||||||
local el = iif(cfg.kind == p.STATICLIB, "Lib", "Linker")
|
local el = iif(cfg.kind == p.STATICLIB, "Lib", "Linker")
|
||||||
|
@ -506,3 +506,14 @@
|
|||||||
return pairing
|
return pairing
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Given a project, returns requested min and max system versions.
|
||||||
|
--
|
||||||
|
|
||||||
|
function project.systemversion(prj)
|
||||||
|
if prj.systemversion ~= nil then
|
||||||
|
local values = string.explode(prj.systemversion, ":", true)
|
||||||
|
return values[1], values[2]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@ -191,3 +191,64 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
]]
|
]]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- VS 2015 adds the <WindowsTargetPlatformVersion> to allow developers
|
||||||
|
-- to target different versions of the Windows SDK.
|
||||||
|
--
|
||||||
|
|
||||||
|
function suite.windowsTargetPlatformVersionMissing_on2013Default()
|
||||||
|
_ACTION = "vs2013"
|
||||||
|
prepare()
|
||||||
|
test.capture [[
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{42B5DBC6-AE1F-903D-F75D-41E363076E92}</ProjectGuid>
|
||||||
|
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>MyProject</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
]]
|
||||||
|
end
|
||||||
|
|
||||||
|
function suite.windowsTargetPlatformVersionMissing_on2013()
|
||||||
|
_ACTION = "vs2013"
|
||||||
|
systemversion "10.0.10240.0"
|
||||||
|
prepare()
|
||||||
|
test.capture [[
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{42B5DBC6-AE1F-903D-F75D-41E363076E92}</ProjectGuid>
|
||||||
|
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>MyProject</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
]]
|
||||||
|
end
|
||||||
|
|
||||||
|
function suite.windowsTargetPlatformVersionMissing_on2015Default()
|
||||||
|
_ACTION = "vs2015"
|
||||||
|
prepare()
|
||||||
|
test.capture [[
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{42B5DBC6-AE1F-903D-F75D-41E363076E92}</ProjectGuid>
|
||||||
|
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>MyProject</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
]]
|
||||||
|
end
|
||||||
|
|
||||||
|
function suite.windowsTargetPlatformVersion_on2015()
|
||||||
|
_ACTION = "vs2015"
|
||||||
|
systemversion "10.0.10240.0"
|
||||||
|
prepare()
|
||||||
|
test.capture [[
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{42B5DBC6-AE1F-903D-F75D-41E363076E92}</ProjectGuid>
|
||||||
|
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>MyProject</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
]]
|
||||||
|
end
|
||||||
|
Reference in New Issue
Block a user