summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/build_optimization/load.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2022-07-02 09:08:51 +0800
committerruki <[email protected]>2022-07-02 09:08:51 +0800
commitb53fd8d1ecec8055f5ec351c3ad02923e74b9dfd (patch)
treec149da57f29cf3500bcabccb626904a4cc066fa7 /xmake/rules/c++/build_optimization/load.lua
parent5ab2328f67ab5af0930d5a84bb032c3c18549ef0 (diff)
add lto for msvc
Diffstat (limited to 'xmake/rules/c++/build_optimization/load.lua')
-rw-r--r--xmake/rules/c++/build_optimization/load.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/xmake/rules/c++/build_optimization/load.lua b/xmake/rules/c++/build_optimization/load.lua
index 38dc3847b..b5bdf07a1 100644
--- a/xmake/rules/c++/build_optimization/load.lua
+++ b/xmake/rules/c++/build_optimization/load.lua
@@ -29,7 +29,7 @@ function _add_lto_optimization(target, sourcekind)
local _, cc = target:tool(sourcekind)
local cflag = sourcekind == "cxx" and "cxxflags" or "cflags"
if cc == "cl" then
- -- TODO
+ target:add(cflag, "-GL")
elseif cc == "clang" or cc == "clangxx" then
target:add(cflag, "-flto=thin")
elseif cc == "gcc" or cc == "gxx" then
@@ -39,7 +39,8 @@ function _add_lto_optimization(target, sourcekind)
-- add ldflags and shflags
local _, ld = target:tool("ld")
if ld == "cl" then
- -- TODO
+ target:add("ldflags", "-LTCG")
+ target:add("shflags", "-LTCG")
elseif ld == "clang" or ld == "clangxx" then
target:add("ldflags", "-flto=thin")
target:add("shflags", "-flto=thin")