summaryrefslogtreecommitdiff
path: root/xmake/modules/utils
diff options
context:
space:
mode:
authorruki <[email protected]>2021-08-29 21:58:47 +0800
committerruki <[email protected]>2021-08-29 21:58:47 +0800
commitb84cce50faefa8b327b4d4a62d010bdb25abd491 (patch)
tree803afc94572534cd981c4309ce7860aba641e6df /xmake/modules/utils
parentab2c5e2a3b29bb63b23a7fa59c3f6d56cc56c47c (diff)
improve extract
Diffstat (limited to 'xmake/modules/utils')
-rw-r--r--xmake/modules/utils/archive/extract.lua28
1 files changed, 4 insertions, 24 deletions
diff --git a/xmake/modules/utils/archive/extract.lua b/xmake/modules/utils/archive/extract.lua
index dd09df9ac..69616fea6 100644
--- a/xmake/modules/utils/archive/extract.lua
+++ b/xmake/modules/utils/archive/extract.lua
@@ -85,9 +85,7 @@ function _extract_using_tar(archivefile, outputdir, extension, opt)
-- extract it
if is_host("windows") then
- local oldir = os.cd(outputdir)
- os.vrunv(program, argv)
- os.cd(oldir)
+ os.vrunv(program, argv, {curdir = outputdir})
else
os.vrunv(program, argv)
end
@@ -201,14 +199,8 @@ function _extract_using_gzip(archivefile, outputdir, extension, opt)
os.cp(archivefile, tmpfile)
end
- -- enter outputdir
- local oldir = os.cd(outputdir)
-
-- extract it
- os.vrunv(program, argv)
-
- -- leave outputdir
- os.cd(oldir)
+ os.vrunv(program, argv, {curdir = outputdir})
-- continue to extract *.tar file
if outputdir_old then
@@ -256,14 +248,8 @@ function _extract_using_xz(archivefile, outputdir, extension, opt)
os.cp(archivefile, tmpfile)
end
- -- enter outputdir
- local oldir = os.cd(outputdir)
-
-- extract it
- os.vrunv(program, argv)
-
- -- leave outputdir
- os.cd(oldir)
+ os.vrunv(program, argv, {curdir = outputdir})
-- continue to extract *.tar file
if outputdir_old then
@@ -369,14 +355,8 @@ function _extract_using_bzip2(archivefile, outputdir, extension, opt)
os.cp(archivefile, tmpfile)
end
- -- enter outputdir
- local oldir = os.cd(outputdir)
-
-- extract it
- os.vrunv(program, argv)
-
- -- leave outputdir
- os.cd(oldir)
+ os.vrunv(program, argv, {curdir = outputdir})
-- continue to extract *.tar file
if outputdir_old then