ConformanceMode flag implemented for >= vs2017

This commit is contained in:
cos 2020-09-11 05:26:00 +03:00
parent 15a07510ab
commit 6104f3a8a5
3 changed files with 39 additions and 0 deletions

View File

@ -428,6 +428,34 @@
]]
end
--
-- If ConformanceMode flag is set, add <ConformanceMode> element (supported from VS2017)
--
function suite.onConformanceMode_VS2015()
flags "ConformanceMode"
p.action.set("vs2015")
prepare()
test.capture [[
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
]]
end
function suite.onConformanceMode_VS2017()
flags "ConformanceMode"
p.action.set("vs2017")
prepare()
test.capture [[
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<ConformanceMode>true</ConformanceMode>
]]
end
--
-- If staticruntime is specified, add the <RuntimeLibrary> element.

View File

@ -383,6 +383,7 @@
m.callingConvention,
m.languageStandard,
m.structMemberAlignment,
m.conformanceMode
}
if cfg.kind == p.STATICLIB then
@ -2188,6 +2189,15 @@
end
function m.conformanceMode(cfg)
if _ACTION >= "vs2017" then
if cfg.flags.ConformanceMode then
m.element("ConformanceMode", nil, "true")
end
end
end
function m.moduleDefinitionFile(cfg)
local df = config.findfile(cfg, ".def")
if df then

View File

@ -468,6 +468,7 @@
kind = "list:string",
allowed = {
"Component", -- DEPRECATED
"ConformanceMode",
"DebugEnvsDontMerge",
"DebugEnvsInherit",
"EnableSSE", -- DEPRECATED