diff options
| author | ruki <[email protected]> | 2016-05-31 20:45:24 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2016-05-31 20:45:24 +0800 |
| commit | 5b2e0333389158094a2a8bb796e13f99fac422e7 (patch) | |
| tree | c5d931b4b6886be3e1c77d2c4b8f5113768629ae /xmake/plugins/project/main.lua | |
| parent | 3dc94888255e69d1fea8fc7079daac3054f9b76a (diff) | |
add project plugin
Diffstat (limited to 'xmake/plugins/project/main.lua')
| -rwxr-xr-x | xmake/plugins/project/main.lua | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/xmake/plugins/project/main.lua b/xmake/plugins/project/main.lua new file mode 100755 index 000000000..7d5362c9f --- /dev/null +++ b/xmake/plugins/project/main.lua @@ -0,0 +1,75 @@ +--!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) 2015 - 2016, ruki All rights reserved. +-- +-- @author ruki +-- @file main.lua +-- + +-- imports +import("core.base.option") +import("core.project.config") +import("core.project.global") +import("core.project.project") +import("core.platform.platform") +import("makefile") + +-- make makefile +function _make_makefile(outputdir) + + -- make makefile + makefile.make(path.join(outputdir, "makefile")) +end + +-- make project +function _make(kind) + + -- the maps + local maps = + { + makefile = _make_makefile + } + assert(maps[kind], "the project kind(%s) is not supported!", kind) + + -- make it + maps[kind](option.get("outputdir")) +end + +-- main +function main() + + -- check xmake.lua + if not os.isfile(project.file()) then + raise("xmake.lua not found!") + end + + -- load project configure + config.load() + + -- load platform + platform.load(config.plat()) + + -- load project + project.load() + + -- make project + _make(option.get("kind")) + + -- trace + print("create ok!") + +end |
