diff options
Diffstat (limited to 'xmake/core/action/_global.lua')
| -rw-r--r-- | xmake/core/action/_global.lua | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/xmake/core/action/_global.lua b/xmake/core/action/_global.lua new file mode 100644 index 000000000..a8fffa0bc --- /dev/null +++ b/xmake/core/action/_global.lua @@ -0,0 +1,104 @@ +--!The Automatic Cross-platform Build Tool +-- +-- XMake is free software; you can redistribute it and/or modify +-- it under the terms of the GNU Lesser General Public License as published by +-- the Free Software Foundation; either version 2.1 of the License, or +-- (at your option) any later version. +-- +-- XMake is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public License +-- along with XMake; +-- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a> +-- +-- Copyright (C) 2009 - 2015, ruki All rights reserved. +-- +-- @author ruki +-- @file _global.lua +-- + +-- define module: _global +local _global = _global or {} + +-- load modules +local utils = require("base/utils") +local global = require("base/global") +local platform = require("platform/platform") + +-- need access to the given file? +function _global.need(name) + + -- check + assert(name) + + -- the accessors + local accessors = { global = true } + + -- need it? + return accessors[name] +end + +-- done +function _global.done() + + -- probe the global platform configure + if not platform.probe(true) then + return false + end + + -- clear up the global configure + global.clearup() + + -- save the global configure + if not global.save() then + -- error + utils.error("save configure failed!") + return false + end + + -- dump global + global.dump() + + -- ok + print("configure ok!") + return true +end + +-- the menu +function _global.menu() + + return { + -- xmake g + shortname = 'g' + + -- usage + , usage = "xmake global|g [options] [target]" + + -- description + , description = "Configure the global options for xmake." + + -- options + , options = + { + {'c', "clean", "k", nil, "Clean the cached configure and configure all again." } + , {nil, "make", "kv", "auto", "Set the make path." } + , {nil, "ccache", "kv", "auto", "Enable or disable the c/c++ compiler cache." + , " --ccache=[y|n]" } + + , {} + -- the options for all platforms + , function () return platform.menu("global") end + + , {} + , {'v', "verbose", "k", nil, "Print lots of verbose information." } + , {nil, "version", "k", nil, "Print the version number and exit." } + , {'h', "help", "k", nil, "Print this help message and exit." } + } + } +end + +-- return module: _global +return _global |
