summaryrefslogtreecommitdiff
path: root/xmake/core/project/task.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2017-06-01 11:30:44 +0800
committerruki <[email protected]>2017-06-01 11:30:44 +0800
commit2d60578f16d189e3b2d619d8890fb722d7356e55 (patch)
treed8bb471a0227f1db6c41920fdfaef03b0b7cddef /xmake/core/project/task.lua
parent2743cb2ee2b2640bbb22aa39d63c134563949a05 (diff)
delay get builtin-vars
Diffstat (limited to 'xmake/core/project/task.lua')
-rw-r--r--xmake/core/project/task.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/xmake/core/project/task.lua b/xmake/core/project/task.lua
index 08097ded6..f1aad65a0 100644
--- a/xmake/core/project/task.lua
+++ b/xmake/core/project/task.lua
@@ -36,6 +36,7 @@ local global = require("project/global")
local config = require("project/config")
local project = require("project/project")
local package = require("project/package")
+local sandbox_os = require("sandbox/modules/os")
-- the directories of tasks
function task._directories()
@@ -194,10 +195,10 @@ function task._interpreter()
-- init maps
local maps =
{
- host = xmake._HOST
- , nuldev = os.nuldev()
- , tmpdir = os.tmpdir()
- , curdir = os.curdir()
+ host = os.host()
+ , tmpdir = function () return os.tmpdir() end
+ , curdir = function () return os.curdir() end
+ , scriptdir = function () return sandbox_os.scriptdir() end
, globaldir = global.directory()
, configdir = config.directory()
, projectdir = xmake._PROJECT_DIR
@@ -207,6 +208,9 @@ function task._interpreter()
-- map it
result = maps[variable]
+ if type(result) == "function" then
+ result = result()
+ end
end
-- ok?