Merge pull request #1522 from nickclark2016/master
Fixed external library linking for Clang in VS2019+
This commit is contained in:
commit
6b545b9cf8
43
modules/vstudio/tests/vc2019/test_link.lua
Normal file
43
modules/vstudio/tests/vc2019/test_link.lua
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
--
|
||||||
|
-- tests/actions/vstudio/vc2010/test_compile_settings.lua
|
||||||
|
-- Validate compiler settings in Visual Studio 2019 C/C++ projects.
|
||||||
|
-- Copyright (c) 2011-2020 Jason Perkins and the Premake project
|
||||||
|
--
|
||||||
|
|
||||||
|
local p = premake
|
||||||
|
local suite = test.declare("vstudio_vs2019_compile_settings")
|
||||||
|
local vc2010 = p.vstudio.vc2010
|
||||||
|
local project = p.project
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Setup
|
||||||
|
--
|
||||||
|
|
||||||
|
local wks, prj
|
||||||
|
|
||||||
|
function suite.setup()
|
||||||
|
p.action.set("vs2019")
|
||||||
|
wks, prj = test.createWorkspace()
|
||||||
|
end
|
||||||
|
|
||||||
|
local function prepare(platform)
|
||||||
|
local cfg = test.getconfig(prj, "Debug", platform)
|
||||||
|
vc2010.configurationProperties(cfg)
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Check link command for a static library using a clang toolset
|
||||||
|
--
|
||||||
|
|
||||||
|
function suite.toolsetClangAdditionalDependencies()
|
||||||
|
function suite.additionalDependencies_onSystemLinks()
|
||||||
|
links { "lua", "zlib" }
|
||||||
|
toolset "clang"
|
||||||
|
prepare()
|
||||||
|
test.capture [[
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<AdditionalDependencies>lua.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
]]
|
||||||
|
end
|
||||||
|
end
|
@ -1397,7 +1397,7 @@
|
|||||||
-- check to see if this project uses an external toolset. If so, let the
|
-- check to see if this project uses an external toolset. If so, let the
|
||||||
-- toolset define the format of the links
|
-- toolset define the format of the links
|
||||||
local toolset = config.toolset(cfg)
|
local toolset = config.toolset(cfg)
|
||||||
if toolset then
|
if cfg.system ~= premake.WINDOWS and toolset then
|
||||||
links = toolset.getlinks(cfg, not explicit)
|
links = toolset.getlinks(cfg, not explicit)
|
||||||
else
|
else
|
||||||
links = vstudio.getLinks(cfg, explicit)
|
links = vstudio.getLinks(cfg, explicit)
|
||||||
|
Reference in New Issue
Block a user