diff options
| author | ruki <[email protected]> | 2019-04-03 00:39:22 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-04-02 21:56:14 +0800 |
| commit | 7175aa15a46eb6c6c8b87755719d39fbd904d983 (patch) | |
| tree | b849bbd4aed5643320d3c644bec1c7abffa11133 /xmake/modules | |
| parent | 305f4158f7f18883d2d88ab31542ab6050644961 (diff) | |
improve nvcc shflags
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/core/tools/nvcc.lua | 6 |
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 |
