diff --git a/src/_premake_init.lua b/src/_premake_init.lua index 491684fe..6bb7a231 100644 --- a/src/_premake_init.lua +++ b/src/_premake_init.lua @@ -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. }, } diff --git a/src/actions/vstudio/vs2010_vcxproj.lua b/src/actions/vstudio/vs2010_vcxproj.lua index 1309de4c..001697dc 100644 --- a/src/actions/vstudio/vs2010_vcxproj.lua +++ b/src/actions/vstudio/vs2010_vcxproj.lua @@ -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] diff --git a/tests/actions/vstudio/vc2010/test_link.lua b/tests/actions/vstudio/vc2010/test_link.lua index de014900..56a74cf8 100644 --- a/tests/actions/vstudio/vc2010/test_link.lua +++ b/tests/actions/vstudio/vc2010/test_link.lua @@ -151,6 +151,17 @@ ]] end + function suite.generateDebugInfo_onSymbolsFull_on2010() + premake.action.set("vs2010") + symbols "Full" + prepare() + test.capture [[ + + Windows + true + ]] + 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 [[ + + Windows + true + ]] + end + + function suite.generateDebugInfo_onSymbolsFull_on2017() + premake.action.set("vs2017") + symbols "Full" + prepare() + test.capture [[ + + Windows + DebugFull + ]] + end -- -- Any system libraries specified in links() should be listed as