summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-08-29 00:36:39 +0800
committerruki <[email protected]>2020-08-29 00:36:39 +0800
commit63d86afa2a79008f6f256b73d0ba919bb911144f (patch)
tree4b3908d316318eb4ec5eb18f6f76bcd64a0a5e56
parent9965dfcab2d32d7d5c72831f1a838028bde66e7c (diff)
improve cmake generator again
-rw-r--r--xmake/plugins/project/cmake/cmakelists.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua
index 643c97f8c..290e40d1e 100644
--- a/xmake/plugins/project/cmake/cmakelists.lua
+++ b/xmake/plugins/project/cmake/cmakelists.lua
@@ -360,13 +360,13 @@ function _add_target_link_directories(cmakelists, target)
cmakelists:print(")")
else
cmakelists:print("if(MSVC)")
- cmakelists:print(" target_link_options(%s PRIVATE", target:name())
+ cmakelists:print(" target_link_libraries(%s PRIVATE", target:name())
for _, linkdir in ipairs(linkdirs) do
cmakelists:print(" -libpath:" .. _get_unix_path(linkdir))
end
cmakelists:print(" )")
cmakelists:print("else()")
- cmakelists:print(" target_link_options(%s PRIVATE", target:name())
+ cmakelists:print(" target_link_libraries(%s PRIVATE", target:name())
for _, linkdir in ipairs(linkdirs) do
cmakelists:print(" -L" .. _get_unix_path(linkdir))
end
@@ -381,7 +381,11 @@ function _add_target_link_options(cmakelists, target)
local ldflags = _get_configs_from_target(target, "ldflags")
local shflags = _get_configs_from_target(target, "shflags")
if #ldflags > 0 or #shflags > 0 then
- cmakelists:print("target_link_options(%s PRIVATE", target:name())
+ if cmake_minver:ge("3.13.0") then
+ cmakelists:print("target_link_options(%s PRIVATE", target:name())
+ else
+ cmakelists:print("target_link_libraries(%s PRIVATE", target:name())
+ end
for _, flag in ipairs(table.unique(table.join(ldflags, shflags))) do
if target:linker():has_flags(flag) then
cmakelists:print(" " .. flag)