diff options
author | dev@Rose-PC.cable.virginmedia.net <dev@Rose-PC.cable.virginmedia.net> | 2011-05-01 04:04:27 +0400 |
---|---|---|
committer | dev@Rose-PC.cable.virginmedia.net <dev@Rose-PC.cable.virginmedia.net> | 2011-05-01 04:04:27 +0400 |
commit | fef32e8f6aac170387427296ee86468afc5eaf1c (patch) | |
tree | 4f0d0698ee601f71e87d98f5f71ad46eb78f1af6 | |
parent | a544afbdf9620fc3cb60594c21fa9952f1f359a9 (diff) |
set the platform in vs10 static libs
-rw-r--r-- | src/actions/vstudio/vs2010_vcxproxj.lua | 19 | ||||
-rw-r--r-- | tests/actions/vstudio/test_vs2010_project_kinds.lua | 37 |
2 files changed, 45 insertions, 11 deletions
diff --git a/src/actions/vstudio/vs2010_vcxproxj.lua b/src/actions/vstudio/vs2010_vcxproxj.lua index aaab455..4903afd 100644 --- a/src/actions/vstudio/vs2010_vcxproxj.lua +++ b/src/actions/vstudio/vs2010_vcxproxj.lua @@ -435,24 +435,25 @@ table.concat(premake.esc(cfg.linkoptions), " ")) end end + + local function link_target_machine(index,cfg) + local platforms = {x32 = 'MachineX86',Native = 'MachineX86', x64 = 'MachineX64'} + if platforms[cfg.platform] then + _p(index,'<TargetMachine>%s</TargetMachine>', platforms[cfg.platform]) + end + end local function item_def_lib(cfg) if cfg.kind == 'StaticLib' then _p(1,'<Lib>') _p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name) additional_options(2,cfg) + link_target_machine(2,cfg) _p(1,'</Lib>') end end - local function link_target_machine(cfg) - local target - if cfg.platform == nil or cfg.platform == "x32" then target ="MachineX86" - elseif cfg.platform == "x64" then target ="MachineX64" - end - _p(3,'<TargetMachine>%s</TargetMachine>', target) - end local function import_lib(cfg) --Prevent the generation of an import library for a Windows DLL. @@ -499,9 +500,7 @@ end import_lib(cfg) - - _p(3,'<TargetMachine>%s</TargetMachine>', iif(cfg.platform == "x64", "MachineX64", "MachineX86")) - + link_target_machine(3,cfg) additional_options(3,cfg) else common_link_section(cfg) diff --git a/tests/actions/vstudio/test_vs2010_project_kinds.lua b/tests/actions/vstudio/test_vs2010_project_kinds.lua index 5561220..e87d12a 100644 --- a/tests/actions/vstudio/test_vs2010_project_kinds.lua +++ b/tests/actions/vstudio/test_vs2010_project_kinds.lua @@ -180,4 +180,39 @@ test.string_contains(get_buffer(),
'<AdditionalOptions>.* %%%(AdditionalOptions%)</AdditionalOptions>.*</Link>')
end
-
\ No newline at end of file +
+
+ function vs10_project_kinds.staticLibX64_TargetMachineSetInLib()
+ kind "StaticLib"
+ platforms{'x64'}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<Lib>.*<TargetMachine>.*</TargetMachine>.*</Lib>')
+ end
+
+ function vs10_project_kinds.staticLibX64_TargetMachineInLibSetToMachineX64()
+ kind "StaticLib"
+ platforms{'x64'}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<Lib>.*<TargetMachine>MachineX64</TargetMachine>.*</Lib>')
+ end
+
+ function vs10_project_kinds.staticLibX32_TargetMachineSetInLib()
+ kind "StaticLib"
+ platforms{'x32'}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<Lib>.*<TargetMachine>.*</TargetMachine>.*</Lib>')
+ end
+
+ function vs10_project_kinds.staticLibX32_TargetMachineInLibSetToMachineX86()
+ kind "StaticLib"
+ platforms{'x32'}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<Lib>.*<TargetMachine>MachineX86</TargetMachine>.*</Lib>')
+ end
+
+ function vs10_project_kinds.staticLibNative_TargetMachineInLibSetToMachineX86()
+ kind "StaticLib"
+ platforms{'Native'}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<Lib>.*<TargetMachine>MachineX86</TargetMachine>.*</Lib>')
+ end
\ No newline at end of file |