diff options
author | liamDevine <none@none> | 2011-04-30 02:44:53 +0400 |
---|---|---|
committer | liamDevine <none@none> | 2011-04-30 02:44:53 +0400 |
commit | 96970fda3e473be9386e8df5e022958247c49423 (patch) | |
tree | 9262cbbc05b8bcbb0bbad598feb5b1b3f80b1fb3 | |
parent | 33ee5f16503b7218cf673ffd27849e6e3f9bf885 (diff) | |
parent | 07bf2d32535bb6be9680385f6c3a790d6f8c57e6 (diff) |
merge with stable
-rw-r--r-- | CHANGES.txt | 2 | ||||
-rw-r--r-- | src/actions/vstudio/vs2010_vcxproxj.lua | 12 | ||||
-rw-r--r-- | src/base/configs.lua | 6 | ||||
-rw-r--r-- | tests/actions/vstudio/test_vs2010_flags.lua | 27 |
4 files changed, 30 insertions, 17 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index b8b13b7..fd3bb17 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -26,7 +26,7 @@ * Bug 3157645: Full path for xcode frameworks * Bug 3232160: Environment variables are cut off * Patch 3043933 gmake incorrectly links using -l when a solution contains a .so and .a of the same name and the static lib is wanted (Jonathan Derque) - +* Bug 3294459: vs10 x86_64 using incorrect debug format for minimal rebuild (learner) ------- 4.3 diff --git a/src/actions/vstudio/vs2010_vcxproxj.lua b/src/actions/vstudio/vs2010_vcxproxj.lua index df91d06..452c20a 100644 --- a/src/actions/vstudio/vs2010_vcxproxj.lua +++ b/src/actions/vstudio/vs2010_vcxproxj.lua @@ -307,12 +307,14 @@ -- local debug_info = '' if cfg.flags.Symbols then - if premake.config.isoptimizedbuild(cfg.flags) or cfg.flags.NoEditAndContinue then - debug_info = "ProgramDatabase" - elseif cfg.platform ~= "x64" then - debug_info = "EditAndContinue" + if cfg.platform == "x64" + or cfg.flags.Managed + or optimisation(cfg) ~= "Disabled" + or cfg.flags.NoEditAndContinue -- then + then + debug_info = "ProgramDatabase" else - debug_info = "OldStyle" + debug_info = "EditAndContinue" end end diff --git a/src/base/configs.lua b/src/base/configs.lua index 60cdf1b..f15f71f 100644 --- a/src/base/configs.lua +++ b/src/base/configs.lua @@ -251,7 +251,7 @@ -- add `kind` to the filter terms if (cfg.kind) then - terms[kind]=cfg.kind:lower() + terms['kind']=cfg.kind:lower() end -- now add in any blocks that match the filter terms @@ -259,8 +259,8 @@ if (premake.iskeywordsmatch(blk.keywords, terms))then mergeobject(cfg, blk) if (cfg.kind and not cfg.terms.kind) then - cfg.terms[kind] = cfg.kind:lower() - terms[kind] = cfg.kind:lower() + cfg.terms['kind'] = cfg.kind:lower() + terms['kind'] = cfg.kind:lower() end end end diff --git a/tests/actions/vstudio/test_vs2010_flags.lua b/tests/actions/vstudio/test_vs2010_flags.lua index 3e2193c..47afe0a 100644 --- a/tests/actions/vstudio/test_vs2010_flags.lua +++ b/tests/actions/vstudio/test_vs2010_flags.lua @@ -205,13 +205,24 @@ function vs10_flags.mfc_useOfMfc_setToStatic() test.string_contains(buffer,'<UseOfMfc>Dynamic</UseOfMfc>') end -function vs10_flags.Symbols_DebugInformationFormat_setToEditAndContinue() +--there is not an option for /Z7 OldStyle +--/ZI is not compatible with /clr or x64_64 +--minimal Rebuild requires /Zi in x86_64 + +function vs10_flags.symbols_32BitBuild_DebugInformationFormat_setToEditAndContinue() flags{"Symbols"} - + platforms{'x32'} local buffer = get_buffer() test.string_contains(buffer,'<DebugInformationFormat>EditAndContinue</DebugInformationFormat>') end +function vs10_flags.symbols_64BitBuild_DebugInformationFormat_setToProgramDatabase() + flags{"Symbols"} + platforms{"x64"} + local buffer = get_buffer() + test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>') +end + function vs10_flags.symbolsAndNoEditAndContinue_DebugInformationFormat_setToProgramDatabase() flags{"Symbols","NoEditAndContinue"} @@ -225,16 +236,16 @@ function vs10_flags.symbolsAndRelease_DebugInformationFormat_setToProgramDatabas local buffer = get_buffer() test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>') end -function vs10_flags.noSymbols_DebugInformationFormat_blockIsEmpty() + +function vs10_flags.symbolsManaged_DebugInformationFormat_setToProgramDatabase() + flags{"Symbols","Managed"} local buffer = get_buffer() - test.string_contains(buffer,'<DebugInformationFormat></DebugInformationFormat>') + test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>') end -function vs10_flags.symbols_64BitBuild_DebugInformationFormat_setToOldStyle() - flags{"Symbols"} - platforms{"x64"} +function vs10_flags.noSymbols_DebugInformationFormat_blockIsEmpty() local buffer = get_buffer() - test.string_contains(buffer,'<DebugInformationFormat>OldStyle</DebugInformationFormat>') + test.string_contains(buffer,'<DebugInformationFormat></DebugInformationFormat>') end function vs10_flags.noManifest_GenerateManifest_setToFalse() |