diff --git a/run.n b/run.n index 74e0af9a0..98a7a26a3 100644 Binary files a/run.n and b/run.n differ diff --git a/script/src/RunScript.hx b/script/src/RunScript.hx index fb7e97693..e1898e37a 100644 --- a/script/src/RunScript.hx +++ b/script/src/RunScript.hx @@ -1009,8 +1009,6 @@ class RunScript { public static function main () { - limeDirectory = PathHelper.getHaxelib (new Haxelib ("lime"), true); - if (new EReg ("window", "i").match (Sys.systemName ())) { isLinux = false; @@ -1062,11 +1060,27 @@ class RunScript { for (arg in args) { + var equals = arg.indexOf ("="); + if (StringTools.startsWith (arg, "-D")) { defines.push (arg); ignoreLength++; + } else if (equals > -1 && StringTools.startsWith (arg, "--")) { + + var argValue = arg.substr (equals + 1); + var field = arg.substr (2, equals - 2); + + if (StringTools.startsWith (field, "haxelib-")) { + + var name = field.substr (8); + PathHelper.haxelibOverrides.set (name, PathHelper.tryFullPath (argValue)); + + } + + ignoreLength++; + } else if (StringTools.startsWith (arg, "-")) { switch (arg) { @@ -1092,6 +1106,8 @@ class RunScript { } + limeDirectory = PathHelper.getHaxelib (new Haxelib ("lime"), true); + var path = ""; if (args.length == 2 + ignoreLength) { @@ -1182,6 +1198,8 @@ class RunScript { } else { + limeDirectory = PathHelper.getHaxelib (new Haxelib ("lime"), true); + if (command == "setup") { var toolsDirectory = PathHelper.getHaxelib (new Haxelib ("lime-tools"));