31 lines
865 B
Lua
31 lines
865 B
Lua
local ffi = require("ffi")
|
|
|
|
local dirtools = {}
|
|
|
|
dirtools.get_app_path = function( expected_root_folder )
|
|
|
|
local base_dir = "."
|
|
if(ffi.os == "Windows") then
|
|
local cmdh = io.popen("cd", "r")
|
|
if(cmdh) then base_dir = cmdh:read("*a"); cmdh:close() end
|
|
else
|
|
local cmdh = io.popen("cwd", "r")
|
|
if(cmdh) then base_dir = cmdh:read("*a"); cmdh:close() end
|
|
end
|
|
|
|
local folder_name = expected_root_folder
|
|
local last_folder, remain = string.match(base_dir, "(.-"..folder_name..")(.-)")
|
|
last_folder = last_folder or ""
|
|
remain = remain or ""
|
|
|
|
remain = remain:gsub("%s+", "")
|
|
if(ffi.os == "Windows") then
|
|
base_dir = last_folder.."\\"
|
|
else
|
|
base_dir = last_folder.."/"
|
|
end
|
|
print("Base Directory: "..base_dir)
|
|
return base_dir
|
|
end
|
|
|
|
return dirtools |