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:
authordev@Rose-PC.cable.virginmedia.net <dev@Rose-PC.cable.virginmedia.net>2011-05-01 04:04:27 +0400
committerdev@Rose-PC.cable.virginmedia.net <dev@Rose-PC.cable.virginmedia.net>2011-05-01 04:04:27 +0400
commitfef32e8f6aac170387427296ee86468afc5eaf1c (patch)
tree4f0d0698ee601f71e87d98f5f71ad46eb78f1af6
parenta544afbdf9620fc3cb60594c21fa9952f1f359a9 (diff)
set the platform in vs10 static libs
-rw-r--r--src/actions/vstudio/vs2010_vcxproxj.lua19
-rw-r--r--tests/actions/vstudio/test_vs2010_project_kinds.lua37
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