diff options
author | liamDevine <none@none> | 2010-11-01 03:26:24 +0300 |
---|---|---|
committer | liamDevine <none@none> | 2010-11-01 03:26:24 +0300 |
commit | b875586b2edd2eb02dedfec43951e0aadbb20443 (patch) | |
tree | edcd87e50bcf72679239549ca76ad0fc1def9a78 | |
parent | 0d07522f09d3ae28f894fe1b513be40f48384e29 (diff) |
Fixes vs10 DebugInformationFormat
-rw-r--r-- | src/actions/vstudio/vs2010_vcxproxj.lua | 13 | ||||
-rw-r--r-- | tests/actions/vstudio/test_vs2010_flags.lua | 13 |
2 files changed, 21 insertions, 5 deletions
diff --git a/src/actions/vstudio/vs2010_vcxproxj.lua b/src/actions/vstudio/vs2010_vcxproxj.lua index b886e8e..a987cbf 100644 --- a/src/actions/vstudio/vs2010_vcxproxj.lua +++ b/src/actions/vstudio/vs2010_vcxproxj.lua @@ -327,11 +327,16 @@ local vs10_helpers = premake.vstudio.vs10_helpers -- ProgramDatabase /Zi -- OldStyle C7 Compatable /Z7 -- - if cfg.flags.Symbols and not cfg.flags.NoEditAndContinue then - _p(3,'<DebugInformationFormat>EditAndContinue</DebugInformationFormat>') - else - _p(3,'<DebugInformationFormat></DebugInformationFormat>') + local debug_info = '' + if cfg.flags.Symbols then + if optimisation(cfg) ~= "Disabled" or cfg.flags.NoEditAndContinue then + debug_info = "ProgramDatabase" + else + debug_info = "EditAndContinue" + end end + + _p(3,'<DebugInformationFormat>%s</DebugInformationFormat>',debug_info) end local function minimal_build(cfg) diff --git a/tests/actions/vstudio/test_vs2010_flags.lua b/tests/actions/vstudio/test_vs2010_flags.lua index 779a19d..2540f23 100644 --- a/tests/actions/vstudio/test_vs2010_flags.lua +++ b/tests/actions/vstudio/test_vs2010_flags.lua @@ -213,10 +213,21 @@ function vs10_flags.Symbols_DebugInformationFormat_setToEditAndContinue() test.string_contains(buffer,'<DebugInformationFormat>EditAndContinue</DebugInformationFormat>')
end
-function vs10_flags.symbolsAndNoEditAndContinue_DebugInformationFormat_isAnEmptyBlock()
+function vs10_flags.symbolsAndNoEditAndContinue_DebugInformationFormat_setToProgramDatabase()
flags{"Symbols","NoEditAndContinue"}
local buffer = get_buffer()
+ test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>')
+end
+
+function vs10_flags.symbolsAndRelease_DebugInformationFormat_setToProgramDatabase()
+ flags{"Symbols",release_string}
+
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>')
+end
+function vs10_flags.noSymbols_DebugInformationFormat_blockIsEmpty()
+ local buffer = get_buffer()
test.string_contains(buffer,'<DebugInformationFormat></DebugInformationFormat>')
end
|