Add support for changing the debug information for Visual Studio 2017 files to DebugFull. The default for VS2017 (i.e. when debug information is set to 'true') is to use fastlink. There is a new option to use a full pdb file. For older versions of Visual Studio, the new 'Full' symbols option behaves like 'On'. (#694)

This commit is contained in:
Rory 2017-02-13 09:02:02 -08:00 committed by Tom van Dijck
parent 566936cbe7
commit 6cb6f4a678
3 changed files with 41 additions and 1 deletions

View File

@ -1002,6 +1002,7 @@
"On",
"Off",
"FastLink", -- Visual Studio 2015+ only, considered 'On' for all other cases.
"Full", -- Visual Studio 2017+ only, considered 'On' for all other cases.
},
}

View File

@ -1376,14 +1376,21 @@
function m.generateDebugInformation(cfg)
local lookup = {}
if _ACTION >= "vs2015" then
if _ACTION >= "vs2017" then
lookup[p.ON] = "true"
lookup[p.OFF] = "false"
lookup["FastLink"] = "DebugFastLink"
lookup["Full"] = "DebugFull"
elseif _ACTION == "vs2015" then
lookup[p.ON] = "true"
lookup[p.OFF] = "false"
lookup["FastLink"] = "DebugFastLink"
lookup["Full"] = "true"
else
lookup[p.ON] = "true"
lookup[p.OFF] = "false"
lookup["FastLink"] = "true"
lookup["Full"] = "true"
end
local value = lookup[cfg.symbols]

View File

@ -151,6 +151,17 @@
]]
end
function suite.generateDebugInfo_onSymbolsFull_on2010()
premake.action.set("vs2010")
symbols "Full"
prepare()
test.capture [[
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
]]
end
function suite.generateDebugInfo_onSymbolsOn_on2015()
premake.action.set("vs2015")
symbols "On"
@ -174,6 +185,27 @@
]]
end
function suite.generateDebugInfo_onSymbolsFull_on2015()
premake.action.set("vs2015")
symbols "Full"
prepare()
test.capture [[
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
]]
end
function suite.generateDebugInfo_onSymbolsFull_on2017()
premake.action.set("vs2017")
symbols "Full"
prepare()
test.capture [[
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
]]
end
--
-- Any system libraries specified in links() should be listed as