summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2018-08-25 00:34:01 +0800
committerruki <[email protected]>2018-08-24 21:24:08 +0800
commit37d53d0646fd32ebc747dc22be0cc1390887bc3a (patch)
tree9d36e7183dc1a825bdc3498210116ac9fde5be85
parentf0fe86cec304f73c78f97356968f91be033026fa (diff)
add set_enable api
-rw-r--r--CHANGELOG.md2
-rw-r--r--xmake/core/project/project.lua5
-rw-r--r--xmake/core/project/target.lua1
3 files changed, 7 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3690a2631..c7f13df5b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
* Support fasm assembler
* Add `has_config` and `is_config` apis
* Add `$ xmake --try` to try building project using third-party buildsystem
+* Add `set_enabled(false)` to disable target
### Changes
@@ -482,6 +483,7 @@
* 新增fasm汇编器支持
* 添加`has_config`和`is_config`接口去快速判断option和配置值
* 添加`$ xmake --try`去尝试构建工程
+* 添加`set_enabled(false)`去显示的禁用target
### 改进
diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua
index 418a35086..b60e5f79b 100644
--- a/xmake/core/project/project.lua
+++ b/xmake/core/project/project.lua
@@ -355,7 +355,10 @@ function project._load_targets()
-- make targets
local targets = {}
for targetname, targetinfo in pairs(results) do
- targets[targetname] = target.new(targetname, targetinfo, project)
+ local t = target.new(targetname, targetinfo, project)
+ if t and (t:get("enabled") == nil or t:get("enabled") == true) then
+ targets[targetname] = t
+ end
end
-- load and attach target deps and rules
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua
index 2c2b20ae4..1d8a8fb24 100644
--- a/xmake/core/project/target.lua
+++ b/xmake/core/project/target.lua
@@ -53,6 +53,7 @@ function target.apis()
"target.set_kind"
, "target.set_strip"
, "target.set_rules"
+ , "target.set_enabled"
, "target.set_default"
, "target.set_options"
, "target.set_symbols"