vpath android.link fix

The issue that this solves is that if vpaths is used to resolve the
android needed file paths when they are referenced from other directories
within the directory structure but not considered external files.
This commit is contained in:
Jason Jurecka 2018-06-21 15:14:17 -07:00 committed by Manu Evans
parent ba3b2eb50b
commit c02879d626

View File

@ -152,14 +152,17 @@
end) end)
function android.link(cfg, file) function android.link(cfg, file)
local fname = path.translate(file.relpath) -- default the seperator to '/' as that is what is searched for
-- below. Otherwise the function will use target seperator which
-- could be '\\' and result in failure to create links.
local fname = path.translate(file.relpath, '/')
-- Files that live outside of the project tree need to be "linked" -- Files that live outside of the project tree need to be "linked"
-- and provided with a project relative pseudo-path. Check for any -- and provided with a project relative pseudo-path. Check for any
-- leading "../" sequences and, if found, remove them and mark this -- leading "../" sequences and, if found, remove them and mark this
-- path as external. -- path as external.
local link, count = fname:gsub("%.%.%/", "") local link, count = fname:gsub("%.%.%/", "")
local external = (count > 0) or fname:find(':', 1, true) local external = (count > 0) or fname:find(':', 1, true) or (file.vpath and file.vpath ~= file.relpath)
-- Try to provide a little bit of flexibility by allowing virtual -- Try to provide a little bit of flexibility by allowing virtual
-- paths for external files. Would be great to support them for all -- paths for external files. Would be great to support them for all