Skip to content

Commit 0d3ae24

Browse files
committed
Fixed tools output of MSC in the gmake generator
1 parent 663eb34 commit 0d3ae24

File tree

4 files changed

+50
-1
lines changed

4 files changed

+50
-1
lines changed

modules/gmake/tests/test_gmake_tools.lua

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,19 @@ endif
5959
RESCOMP = windres
6060
]]
6161
end
62+
63+
function suite.usesCorrectTools_msc()
64+
gmake.cpp.tools(cfg, p.tools.msc)
65+
test.capture [[
66+
ifeq ($(origin CC), default)
67+
CC = cl
68+
endif
69+
ifeq ($(origin CXX), default)
70+
CXX = cl
71+
endif
72+
ifeq ($(origin AR), default)
73+
AR = lib
74+
endif
75+
RESCOMP = rc
76+
]]
77+
end

src/base/_foundation.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
premake.MACOSX = "macosx"
4242
premake.MAKEFILE = "Makefile"
4343
premake.MBCS = "MBCS"
44+
premake.MSC = "msc"
4445
premake.NONE = "None"
4546
premake.DEFAULT = "Default"
4647
premake.OBJECTIVEC = "Objective-C"

src/tools/msc.lua

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,17 @@
481481
-- default value should be used.
482482
--
483483

484+
msc.tools = {
485+
cc = "cl",
486+
cxx = "cl",
487+
ar = "lib",
488+
rc = "rc"
489+
}
490+
484491
function msc.gettoolname(cfg, tool)
485-
return nil
492+
local toolset, version = p.tools.canonical(cfg.toolset or p.MSC)
493+
-- TODO: Support versioning?
494+
return msc.tools[tool]
486495
end
487496

488497

tests/tools/test_msc.lua

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,29 @@
2626
end
2727

2828

29+
--
30+
-- Check the selection of tools.
31+
--
32+
33+
function suite.tools_onDefaults()
34+
prepare()
35+
test.isequal("cl", msc.gettoolname(cfg, "cc"))
36+
test.isequal("cl", msc.gettoolname(cfg, "cxx"))
37+
test.isequal("lib", msc.gettoolname(cfg, "ar"))
38+
test.isequal("rc", msc.gettoolname(cfg, "rc"))
39+
end
40+
41+
function suite.tools_withMsc()
42+
toolset "msc"
43+
prepare()
44+
test.isequal("cl", msc.gettoolname(cfg, "cc"))
45+
test.isequal("cl", msc.gettoolname(cfg, "cxx"))
46+
test.isequal("lib", msc.gettoolname(cfg, "ar"))
47+
test.isequal("rc", msc.gettoolname(cfg, "rc"))
48+
end
49+
50+
51+
2952
--
3053
-- Check the optimization flags.
3154
--

0 commit comments

Comments
 (0)