package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.4 KiB
76 lines
2.4 KiB
1 year ago
|
set_project("theora")
|
||
|
set_kind("$(kind)")
|
||
|
|
||
|
add_rules("mode.debug", "mode.release")
|
||
|
if is_plat("windows") and is_kind("shared") then
|
||
|
add_rules("utils.symbols.export_all")
|
||
|
end
|
||
|
|
||
|
add_requires("libogg")
|
||
|
|
||
|
add_packages("libogg")
|
||
|
add_includedirs("include")
|
||
|
add_headerfiles("include/(theora/*.h)")
|
||
|
set_warnings("all")
|
||
|
|
||
|
target("theoraenc")
|
||
|
add_files("lib/apiwrapper.c",
|
||
|
"lib/fragment.c",
|
||
|
"lib/idct.c",
|
||
|
"lib/internal.c",
|
||
|
"lib/info.c",
|
||
|
"lib/state.c",
|
||
|
"lib/quant.c",
|
||
|
"lib/analyze.c",
|
||
|
"lib/encfrag.c",
|
||
|
"lib/encapiwrapper.c",
|
||
|
"lib/encinfo.c",
|
||
|
"lib/encode.c",
|
||
|
"lib/enquant.c",
|
||
|
"lib/fdct.c",
|
||
|
"lib/huffenc.c",
|
||
|
"lib/mathops.c",
|
||
|
"lib/mcenc.c",
|
||
|
"lib/rate.c",
|
||
|
"lib/tokenize.c")
|
||
|
local asmdir = is_plat("windows") and "x86_vc" or "x86"
|
||
|
if is_arch("x86") then
|
||
|
add_defines("OC_X86_ASM")
|
||
|
add_files(path.join("lib", asmdir, "*.c|sse2fdct.c"))
|
||
|
elseif is_arch("x64", "x86_64") and not is_plat("windows") then
|
||
|
add_defines("OC_X86_ASM", "OC_X86_64_ASM")
|
||
|
add_files(path.join("lib", asmdir, "*.c"))
|
||
|
end
|
||
|
|
||
|
target("theoradec")
|
||
|
add_files("lib/apiwrapper.c",
|
||
|
"lib/bitpack.c",
|
||
|
"lib/decapiwrapper.c",
|
||
|
"lib/decinfo.c",
|
||
|
"lib/decode.c",
|
||
|
"lib/dequant.c",
|
||
|
"lib/fragment.c",
|
||
|
"lib/huffdec.c",
|
||
|
"lib/idct.c",
|
||
|
"lib/info.c",
|
||
|
"lib/internal.c",
|
||
|
"lib/quant.c",
|
||
|
"lib/state.c")
|
||
|
local asmdir = is_plat("windows") and "x86_vc" or "x86"
|
||
|
if is_arch("x86") or (not is_plat("windows") and is_arch("x64", "x86_64")) then
|
||
|
add_defines("OC_X86_ASM")
|
||
|
add_files(path.join("lib", asmdir, "mmxidct.c"),
|
||
|
path.join("lib", asmdir, "mmxfrag.c"),
|
||
|
path.join("lib", asmdir, "mmxstate.c"),
|
||
|
path.join("lib", asmdir, "x86state.c"))
|
||
|
if os.exists("lib", asmdir, "sse2idct.c") then
|
||
|
add_files("lib", asmdir, "sse2idct.c")
|
||
|
end
|
||
|
if os.exists(path.join("lib", asmdir, "x86cpu.c")) then
|
||
|
add_files(path.join("lib", asmdir, "x86cpu.c"))
|
||
|
end
|
||
|
if is_arch("x64", "x86_64") then
|
||
|
add_defines("OC_X86_64_ASM")
|
||
|
end
|
||
|
end
|