diff options
| author | ruki <[email protected]> | 2020-04-23 22:48:24 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-04-23 10:50:25 +0800 |
| commit | c6c35ff6929f6e49d300b0b586588347a5a97e2c (patch) | |
| tree | 9b1bbb239394f2e10f6df3c1eefbee5eea915dce | |
| parent | a8598427d2d0253083b5413df333631d0b3a02c5 (diff) | |
improve xmake/cli
| -rw-r--r-- | xmake/rules/xmake_cli/xmake.lua | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/xmake/rules/xmake_cli/xmake.lua b/xmake/rules/xmake_cli/xmake.lua index a3aad786b..19d7242a3 100644 --- a/xmake/rules/xmake_cli/xmake.lua +++ b/xmake/rules/xmake_cli/xmake.lua @@ -26,6 +26,13 @@ rule("xmake.cli") end) after_install(function (target) + -- get lua script directory + local scriptdir = path.join(target:scriptdir(), "src") + if not os.isfile(path.join(scriptdir, "lua", "main.lua")) then + import("lib.detect.find_path") + scriptdir = find_path("lua/main.lua", path.join(target:scriptdir(), "**")) + end + -- install xmake-core lua scripts first local libxmake = target:pkg("libxmake") local programdir = path.join(path.directory(libxmake:get("linkdirs")), "share", "xmake") @@ -34,7 +41,16 @@ rule("xmake.cli") if not os.isdir(installdir) then os.mkdir(installdir) end - os.vcp(path.join(programdir, "*"), installdir) + if scriptdir then + os.mkdir(path.join(installdir, "plugins")) + os.vcp(path.join(programdir, "core"), installdir) + os.vcp(path.join(programdir, "modules"), installdir) + os.vcp(path.join(programdir, "themes"), installdir) + os.vcp(path.join(programdir, "plugins", "lua"), path.join(installdir, "plugins")) + os.vcp(path.join(programdir, "actions", "build", "xmake.lua"), path.join(installdir, "actions", "build", "xmake.lua")) + else + os.vcp(path.join(programdir, "*"), installdir) + end -- install xmake/cli lua scripts -- @@ -47,22 +63,21 @@ rule("xmake.cli") -- - main.lua -- - local scriptdir = path.join(target:scriptdir(), "src") - if not os.isfile(path.join(scriptdir, "lua", "main.lua")) then - import("lib.detect.find_path") - scriptdir = assert(find_path("lua/main.lua", path.join(target:scriptdir(), "**")), "lua/main.lua not found!") + if scriptdir then + os.vcp(path.join(scriptdir, "lua"), path.join(installdir, "modules")) end - os.vcp(path.join(scriptdir, "lua"), path.join(installdir, "modules")) end) before_run(function (target) local scriptdir = path.join(target:scriptdir(), "src") if not os.isfile(path.join(scriptdir, "lua", "main.lua")) then import("lib.detect.find_path") - scriptdir = assert(find_path("lua/main.lua", path.join(target:scriptdir(), "**")), "lua/main.lua not found!") + scriptdir = find_path("lua/main.lua", path.join(target:scriptdir(), "**")) + end + if scriptdir then + os.setenv("XMAKE_MODULES_DIR", scriptdir) end local libxmake = target:pkg("libxmake") local programdir = path.join(path.directory(libxmake:get("linkdirs")), "share", "xmake") assert(os.isdir(programdir), "%s not found!", programdir) os.setenv("XMAKE_PROGRAM_DIR", programdir) - os.setenv("XMAKE_MODULES_DIR", scriptdir) end) |
