mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 13:14:01 +08:00
simplify and speed up deps extraction + new cmake flags for updated protobuf
This commit is contained in:
parent
627e9df708
commit
e4ba0db46c
@ -386,7 +386,7 @@ if _OPTIONS["ext-ingame_overlay"] or _OPTIONS["all-ext"] then
|
|||||||
table.insert(deps_to_extract, { 'ingame_overlay/ingame_overlay.tar.gz', 'ingame_overlay' })
|
table.insert(deps_to_extract, { 'ingame_overlay/ingame_overlay.tar.gz', 'ingame_overlay' })
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- start extraction
|
||||||
for _, dep in pairs(deps_to_extract) do
|
for _, dep in pairs(deps_to_extract) do
|
||||||
-- check archive
|
-- check archive
|
||||||
local archive_file = path.join(third_party_common_dir, dep[1])
|
local archive_file = path.join(third_party_common_dir, dep[1])
|
||||||
@ -418,7 +418,7 @@ for _, dep in pairs(deps_to_extract) do
|
|||||||
local ext = string.lower(string.sub(archive_file, -7)) -- ".tar.gz"
|
local ext = string.lower(string.sub(archive_file, -7)) -- ".tar.gz"
|
||||||
local ok_cmd = false
|
local ok_cmd = false
|
||||||
if ext == ".tar.gz" then
|
if ext == ".tar.gz" then
|
||||||
ok_cmd = os.execute(extractor .. ' -bso0 -bse2 x "' .. archive_file .. '" -so | "' .. extractor .. '" -bso0 -bse2 x -si -ttar -y -aoa -o"' .. out_folder .. '"')
|
ok_cmd = os.execute(extractor .. ' -bso0 -bse2 x "' .. archive_file .. '" -so | "' .. extractor .. '" -bso0 -bse2 x -si -ttar -y -aoa -o"' .. deps_dir .. '"')
|
||||||
else
|
else
|
||||||
ok_cmd = os.execute(extractor .. ' -bso0 -bse2 x "' .. archive_file .. '" -y -aoa -o"' .. out_folder .. '"')
|
ok_cmd = os.execute(extractor .. ' -bso0 -bse2 x "' .. archive_file .. '" -y -aoa -o"' .. out_folder .. '"')
|
||||||
end
|
end
|
||||||
@ -427,16 +427,16 @@ for _, dep in pairs(deps_to_extract) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- flatten dir by moving all folders contents outside (one level above)
|
-- flatten dir by moving all folders contents outside (one level above)
|
||||||
print('flattening dir: ' .. out_folder)
|
-- print('flattening dir: ' .. out_folder)
|
||||||
local folders = os.matchdirs(out_folder .. '/*')
|
-- local folders = os.matchdirs(out_folder .. '/*')
|
||||||
for _, inner_folder in pairs(folders) do
|
-- for _, inner_folder in pairs(folders) do
|
||||||
-- the weird "/*" at the end is not a mistake, premake uses cp cpmmand on linux, which won't copy inner dir otherwise
|
-- -- the weird "/*" at the end is not a mistake, premake uses cp cpmmand on linux, which won't copy inner dir otherwise
|
||||||
local ok = os.execute('{COPYDIR} "' .. inner_folder .. '"/* "' .. out_folder .. '"')
|
-- local ok = os.execute('{COPYDIR} "' .. inner_folder .. '"/* "' .. out_folder .. '"')
|
||||||
if not ok then
|
-- if not ok then
|
||||||
error('copy dir failed, src=' .. inner_folder .. ', dest=' .. out_folder)
|
-- error('copy dir failed, src=' .. inner_folder .. ', dest=' .. out_folder)
|
||||||
end
|
-- end
|
||||||
os.rmdir(inner_folder)
|
-- os.rmdir(inner_folder)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -551,10 +551,22 @@ end
|
|||||||
|
|
||||||
if _OPTIONS["build-protobuf"] or _OPTIONS["all-build"] then
|
if _OPTIONS["build-protobuf"] or _OPTIONS["all-build"] then
|
||||||
local proto_common_defs = {
|
local proto_common_defs = {
|
||||||
|
"ABSL_PROPAGATE_CXX_STD=ON",
|
||||||
|
"protobuf_BUILD_PROTOBUF_BINARIES=ON",
|
||||||
|
"protobuf_BUILD_PROTOC_BINARIES=ON",
|
||||||
|
"protobuf_BUILD_LIBPROTOC=OFF",
|
||||||
|
"protobuf_BUILD_LIBUPB=OFF",
|
||||||
"protobuf_BUILD_TESTS=OFF",
|
"protobuf_BUILD_TESTS=OFF",
|
||||||
|
"protobuf_BUILD_EXAMPLES=OFF",
|
||||||
|
"protobuf_DISABLE_RTTI=ON",
|
||||||
|
"protobuf_BUILD_CONFORMANCE=OFF",
|
||||||
"protobuf_BUILD_SHARED_LIBS=OFF",
|
"protobuf_BUILD_SHARED_LIBS=OFF",
|
||||||
"protobuf_WITH_ZLIB=ON",
|
"protobuf_WITH_ZLIB=ON",
|
||||||
}
|
}
|
||||||
|
if os.target() == 'windows' and string.match(_ACTION, 'gmake.*') then
|
||||||
|
table.insert(proto_common_defs, 'protobuf_MSVC_STATIC_RUNTIME=ON')
|
||||||
|
end
|
||||||
|
|
||||||
if _OPTIONS["32-build"] then
|
if _OPTIONS["32-build"] then
|
||||||
cmake_build('protobuf', true, merge_list(proto_common_defs, wild_zlib_32))
|
cmake_build('protobuf', true, merge_list(proto_common_defs, wild_zlib_32))
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user