summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2026-04-11 00:15:19 +0800
committerGitHub <[email protected]>2026-04-11 00:15:19 +0800
commita971288370be98cccef2b1817b7ab976161f9285 (patch)
tree1aec0992d9fd9804b1221dcf29869ae60c00a992
parent4dde60c71adf3de9b1c49f6f28bb235673846ae9 (diff)
parent0a95fe98063d85035815c867fc3beff98a97a4eb (diff)
Merge pull request #7470 from ShrBox/dev
fix(cmakelists): use target_link_libraries to link object libraries
-rw-r--r--xmake/plugins/project/cmake/cmakelists.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua
index d089cf805..964508a5e 100644
--- a/xmake/plugins/project/cmake/cmakelists.lua
+++ b/xmake/plugins/project/cmake/cmakelists.lua
@@ -1089,21 +1089,22 @@ function _add_target_link_libraries(cmakelists, target, outputdir)
cmakelists:print(" " .. _get_relative_unix_path_to_cmake(objectfile, outputdir))
end
end
+ cmakelists:print(")")
end
if #object_deps ~= 0 then
if not has_links then
- cmakelists:print("add_library(target_objectfiles_%s OBJECT IMPORTED GLOBAL)", key)
- cmakelists:print("set_property(TARGET target_objectfiles_%s PROPERTY IMPORTED_OBJECTS", key)
+ cmakelists:print("add_library(target_objectfiles_%s INTERFACE)", key)
has_links = true
end
+ cmakelists:print("target_link_libraries(target_objectfiles_%s INTERFACE", key)
for _, dep in ipairs(object_deps) do
cmakelists:print(" " .. dep)
end
+ cmakelists:print(")")
end
if has_links then
- cmakelists:print(")")
cmakelists:print("target_link_libraries(%s PRIVATE target_objectfiles_%s)", target:name(), key)
end
end