From 63d86afa2a79008f6f256b73d0ba919bb911144f Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 29 Aug 2020 00:36:39 +0800 Subject: improve cmake generator again --- xmake/plugins/project/cmake/cmakelists.lua | 10 +++++++--- 1 file 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) -- cgit v1.3.1