diff options
| -rw-r--r-- | xmake/plugins/project/cmake/cmakelists.lua | 10 |
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) |
