summaryrefslogtreecommitdiff
path: root/xmake/rules
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules')
-rw-r--r--xmake/rules/c++/build_optimization/config.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/xmake/rules/c++/build_optimization/config.lua b/xmake/rules/c++/build_optimization/config.lua
index 357c3cf76..4324bcf76 100644
--- a/xmake/rules/c++/build_optimization/config.lua
+++ b/xmake/rules/c++/build_optimization/config.lua
@@ -30,7 +30,7 @@ function _add_lto_optimization(target, sourcekind)
local cflag = sourcekind == "cxx" and "cxxflags" or "cflags"
if cc == "cl" then
target:add(cflag, "-GL")
- elseif cc == "clang" or cc == "clangxx" then
+ elseif cc == "clang" or cc == "clangxx" or cc == "clang_cl" then
target:add(cflag, "-flto=thin")
elseif cc == "gcc" or cc == "gxx" then
target:add(cflag, "-flto")
@@ -57,6 +57,11 @@ function _add_lto_optimization(target, sourcekind)
target:add("shflags", optimize_flags)
end
end
+
+ if cc == "clang_cl" and ld == "link" then
+ wprint([[clang-cl + msvc link unsupported lto, please use `set_toolset("ld", "lld-link")`]])
+ target:set("toolset", "ld", "lld-link")
+ end
end
function main(target, sourcekind)