summaryrefslogtreecommitdiff
path: root/xmake/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2019-04-03 00:39:22 +0800
committerruki <[email protected]>2019-04-02 21:56:14 +0800
commit7175aa15a46eb6c6c8b87755719d39fbd904d983 (patch)
treeb849bbd4aed5643320d3c644bec1c7abffa11133 /xmake/modules
parent305f4158f7f18883d2d88ab31542ab6050644961 (diff)
improve nvcc shflags
Diffstat (limited to 'xmake/modules')
-rw-r--r--xmake/modules/core/tools/nvcc.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/xmake/modules/core/tools/nvcc.lua b/xmake/modules/core/tools/nvcc.lua
index 0c64e1b43..1e8186401 100644
--- a/xmake/modules/core/tools/nvcc.lua
+++ b/xmake/modules/core/tools/nvcc.lua
@@ -34,8 +34,7 @@ function init(self)
-- init flags
if not is_plat("windows") then
- self:set("shflags", "-shared", "-fPIC")
- self:set("shared.cuflags", "-fPIC")
+ self:set("shared.cuflags", "-Xcompiler -fPIC")
end
-- init flags map
@@ -180,12 +179,15 @@ function linkargv(self, objectfiles, targetkind, targetfile, flags)
-- add rpath for dylib (macho), .e.g -install_name @rpath/file.dylib
local flags_extra = {}
if targetkind == "shared" and targetfile:endswith(".dylib") then
+ table.insert(flags_extra, "-Xlinker")
table.insert(flags_extra, "-install_name")
+ table.insert(flags_extra, "-Xlinker")
table.insert(flags_extra, "@rpath/" .. path.filename(targetfile))
end
-- add `-Wl,--out-implib,outputdir/libxxx.a` for xxx.dll on mingw/gcc
if targetkind == "shared" and config.plat() == "mingw" then
+ table.insert(flags_extra, "-Xlinker")
table.insert(flags_extra, "-Wl,--out-implib," .. os.args(path.join(path.directory(targetfile), path.basename(targetfile) .. ".lib")))
end