Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliamDevine <none@none>2011-04-30 02:44:53 +0400
committerliamDevine <none@none>2011-04-30 02:44:53 +0400
commit96970fda3e473be9386e8df5e022958247c49423 (patch)
tree9262cbbc05b8bcbb0bbad598feb5b1b3f80b1fb3
parent33ee5f16503b7218cf673ffd27849e6e3f9bf885 (diff)
parent07bf2d32535bb6be9680385f6c3a790d6f8c57e6 (diff)
merge with stable
-rw-r--r--CHANGES.txt2
-rw-r--r--src/actions/vstudio/vs2010_vcxproxj.lua12
-rw-r--r--src/base/configs.lua6
-rw-r--r--tests/actions/vstudio/test_vs2010_flags.lua27
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()