diff options
| author | ruki <[email protected]> | 2020-05-26 22:44:47 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-05-26 10:28:43 +0800 |
| commit | d0e514bd414e58631223b9a3ddaf89ad9ab1723a (patch) | |
| tree | f92c0ffffd8b48f340e2bab1051d84d6f167940c | |
| parent | dccb6a252882804ac7b6156737c77967a8425af1 (diff) | |
support frameworks for cmakelists
| -rw-r--r-- | xmake/plugins/project/cmake/cmakelists.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua index 7196f3d4e..254a98f86 100644 --- a/xmake/plugins/project/cmake/cmakelists.lua +++ b/xmake/plugins/project/cmake/cmakelists.lua @@ -340,6 +340,20 @@ end function _add_target_link_options(cmakelists, target) local shflags = target:get("shflags") local ldflags = target:get("ldflags") + local frameworks = target:get("frameworks") + if frameworks then + if target:targetkind() == "binary" then + ldflags = ldflags and table.copy(ldflags) or {} + for _, framework in ipairs(frameworks) do + table.insert(ldflags, "-framework " .. framework) + end + elseif target:targetkind() == "shared" then + shflags = shflags and table.copy(shflags) or {} + for _, framework in ipairs(frameworks) do + table.insert(shflags, "-framework " .. framework) + end + end + end if ldflags or shflags then cmakelists:print("target_link_options(%s PRIVATE", target:name()) for _, flag in ipairs(ldflags) do |
