diff --git a/src/base/_foundation.lua b/src/base/_foundation.lua index b0e700f9d..ce70e6b57 100644 --- a/src/base/_foundation.lua +++ b/src/base/_foundation.lua @@ -238,15 +238,7 @@ -- function premake.findProjectScript(fname) - local with_ext = fname .. ".lua" - local p5 = path.join(fname, "premake5.lua") - local p4 = path.join(fname, "premake4.lua") - - local res = os.locate(fname, with_ext, p5, p4) - if res == nil then - premake.error("Cannot find either " .. table.implode({fname, with_ext, p5, p4}, "", "", " or ")) - end - return res + return os.locate(fname, fname .. ".lua", path.join(fname, "premake5.lua"), path.join(fname, "premake4.lua")) end diff --git a/src/base/api.lua b/src/base/api.lua index faa8a0a49..29aa546e7 100755 --- a/src/base/api.lua +++ b/src/base/api.lua @@ -81,9 +81,10 @@ --- function includeexternal(fname) - fname = p.findProjectScript(fname) + local fullPath = p.findProjectScript(fname) local wasIncludingExternal = api._isIncludingExternal api._isIncludingExternal = true + fname = fullPath or fname dofile(fname) api._isIncludingExternal = wasIncludingExternal end diff --git a/src/base/globals.lua b/src/base/globals.lua index 8e54afd16..5946db8d0 100644 --- a/src/base/globals.lua +++ b/src/base/globals.lua @@ -48,7 +48,8 @@ io._includedFiles = {} function include(fname) - fname = premake.findProjectScript(fname) + local fullPath = premake.findProjectScript(fname) + fname = fullPath or fname if not io._includedFiles[fname] then io._includedFiles[fname] = true return dofile(fname)