summaryrefslogtreecommitdiff
path: root/xmake/scripts/base/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/scripts/base/main.lua')
-rw-r--r--xmake/scripts/base/main.lua179
1 files changed, 0 insertions, 179 deletions
diff --git a/xmake/scripts/base/main.lua b/xmake/scripts/base/main.lua
deleted file mode 100644
index 470815701..000000000
--- a/xmake/scripts/base/main.lua
+++ /dev/null
@@ -1,179 +0,0 @@
---!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 main.lua
---
-
--- define module: main
-local main = main or {}
-
--- load modules
-local os = require("base/os")
-local path = require("base/path")
-local utils = require("base/utils")
-local option = require("base/option")
-local action = require("action/action")
-
--- init the option menu
-local menu =
-{
- -- title
- title = xmake._VERSION .. ", The Automatic Cross-platform Build Tool"
-
- -- copyright
-, copyright = "Copyright (C) 2015-2016 Ruki Wang, tboox.org\nCopyright (C) 2005-2014 Mike Pall, luajit.org"
-
- -- build project: xmake
-, main =
- {
- -- usage
- usage = "xmake [action] [options] [target]"
-
- -- description
- , description = "Build the project if no given action."
-
- -- actions
- , actions = action.list
-
- -- options
- , options =
- {
- {'b', "build", "k", nil, "Build project. This is default building mode and optional." }
- , {'u', "update", "k", nil, "Only relink and update the binary files." }
- , {'r', "rebuild", "k", nil, "Rebuild the project." }
-
- , {}
- , {'f', "file", "kv", "xmake.lua", "Read a given xmake.lua file." }
- , {'P', "project", "kv", nil, "Change to the given project directory."
- , "Search priority:"
- , " 1. The Given Command Argument"
- , " 2. The Envirnoment Variable: XMAKE_PROJECT_DIR"
- , " 3. The Current Directory" }
-
-
- , {}
- , {'j', "jobs", "kv", nil, "Specifies the number of jobs to build simultaneously" }
- , {'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." }
-
- , {}
- , {nil, "target", "v", "all", "Build the given target." }
- }
- }
-
- -- the actions: xmake [action]
-, action.menu
-
-}
-
--- done help
-function main._done_help()
-
- -- the options
- local options = xmake._OPTIONS
- assert(options)
-
- -- done help
- if options.help then
-
- -- print menu
- option.print_menu(options._ACTION)
-
- -- ok
- return true
-
- -- done version
- elseif options.version then
-
- -- print title
- if option._MENU.title then
- print(option._MENU.title)
- end
-
- -- print copyright
- if option._MENU.copyright then
- print(option._MENU.copyright)
- end
-
- -- ok
- return true
- end
-end
-
--- done option
-function main._done_option()
-
- -- the options
- local options = xmake._OPTIONS
- assert(options)
-
- -- done help?
- if main._done_help() then
- return true
- end
-
- -- done action
- return action.done(options._ACTION or "build")
-end
-
--- the init function for main
-function main._init()
-
- -- init the project directory
- local projectdir = option.find(xmake._ARGV, "project", "P") or xmake._PROJECT_DIR
- if projectdir and not path.is_absolute(projectdir) then
- projectdir = path.absolute(projectdir)
- elseif projectdir then
- projectdir = path.translate(projectdir)
- end
- xmake._PROJECT_DIR = projectdir
- assert(projectdir)
-
- -- init the xmake.lua file path
- local projectfile = option.find(xmake._ARGV, "file", "f") or xmake._PROJECT_FILE
- if projectfile and not path.is_absolute(projectfile) then
- projectfile = path.absolute(projectfile, projectdir)
- end
- xmake._PROJECT_FILE = projectfile
- assert(projectfile)
-end
-
--- the main function
-function main.done()
-
- -- init
- main._init()
-
- -- init option
- if not option.init(xmake._ARGV, menu) then
- return -1
- end
-
- -- done option
- if not main._done_option() then
- return -1
- end
-
- -- ok
- return 0
-end
-
--- return module: main
-return main