diff options
| author | ruki <[email protected]> | 2020-05-26 22:39:13 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-05-26 09:55:18 +0800 |
| commit | 7815a23fa7483352aad20834edb486fe60051811 (patch) | |
| tree | 440c657b7922c1cfd9c9c76648991017ea304202 | |
| parent | 11c655cdde82b1c82c25ea29227e90cea658ba35 (diff) | |
add set_toolsets for target
| -rw-r--r-- | tests/apis/set_toolchains/xmake.lua | 1 | ||||
| -rw-r--r-- | xmake/core/project/deprecated/project.lua | 23 | ||||
| -rw-r--r-- | xmake/core/project/target.lua | 5 |
3 files changed, 25 insertions, 4 deletions
diff --git a/tests/apis/set_toolchains/xmake.lua b/tests/apis/set_toolchains/xmake.lua index 4057322d8..f2433cb45 100644 --- a/tests/apis/set_toolchains/xmake.lua +++ b/tests/apis/set_toolchains/xmake.lua @@ -25,6 +25,7 @@ add_rules("mode.debug", "mode.release") target("test") set_kind("static") add_files("src/interface.cpp") + set_toolsets("ar", "ar") target("demo") set_kind("binary") diff --git a/xmake/core/project/deprecated/project.lua b/xmake/core/project/deprecated/project.lua index f1313c270..b42a3b40b 100644 --- a/xmake/core/project/deprecated/project.lua +++ b/xmake/core/project/deprecated/project.lua @@ -253,7 +253,25 @@ function deprecated_project._api_target_set_tools(interp) interp:_api_within_scope_set("target", "set_tools", function (key, value, ...) -- deprecated - deprecated.add("set_tools(%s, %s)", "set_toolchain(%s, %s)", tostring(key), tostring(value)) + deprecated.add("set_toolsets(%s, %s)", "set_tools(%s, %s)", tostring(key), tostring(value)) + + -- dispatch it + apifunc(key, value, ...) + end) +end + +-- set_toolchain for target +function deprecated_project._api_target_set_toolchain(interp) + + -- get api function + local apifunc = interp:_api_within_scope("target", "set_toolchain") + assert(apifunc) + + -- register api + interp:_api_within_scope_set("target", "set_toolchain", function (key, value, ...) + + -- deprecated + deprecated.add("set_toolsets(%s, %s)", "set_toolchain(%s, %s)", tostring(key), tostring(value)) -- dispatch it apifunc(key, value, ...) @@ -331,9 +349,10 @@ function deprecated_project.api_register(interp) -- register api: set_headerdir() to target deprecated_project._api_target_set_headerdir(interp) - -- register api: set_tools/add_tools() to target + -- register api: set_toolchain/set_tools/add_tools() to target deprecated_project._api_target_set_tools(interp) deprecated_project._api_target_add_tools(interp) + deprecated_project._api_target_set_toolchain(interp) end -- return module: deprecated_project diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index a25578677..2054e4ed6 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -1681,7 +1681,7 @@ function _instance:tool(toolkind) toolinfo = {} -- get program from set_toolchain/set_tools (deprecated) - program = self:get("toolchain." .. toolkind) + program = self:get("toolsets." .. toolkind) or self:get("toolchain." .. toolkind) if not program then local tools = self:get("tools") -- TODO: deprecated if tools then @@ -1778,7 +1778,8 @@ function target.apis() "target.set_values" , "target.set_configvar" , "target.set_runenv" - , "target.set_toolchain" + , "target.set_toolchain" -- TODO: deprecated + , "target.set_toolsets" , "target.set_policy" -- target.add_xxx , "target.add_values" |
