代码拉取完成,页面将自动刷新
同步操作将从 tboox/tbox 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
-- project
set_project("tbox")
-- set xmake minimum version
set_xmakever("2.8.2")
-- set project version
set_version("1.7.6", {build = "%Y%m%d", soname = true})
-- set warning all as error
set_warnings("all", "error")
-- set language: c99
stdc = "c99"
set_languages(stdc)
-- add defines to config.h
set_configvar("_GNU_SOURCE", 1)
set_configvar("_REENTRANT", 1)
-- add module directories
add_moduledirs("xmake")
-- disable some compiler errors
add_cxflags("-Wno-error=deprecated-declarations", "-fno-strict-aliasing", "-Wno-error=expansion-to-defined", "-Wno-error=empty-body")
add_mxflags("-Wno-error=deprecated-declarations", "-fno-strict-aliasing", "-Wno-error=expansion-to-defined", "-Wno-error=empty-body")
if has_config("coroutine") then
-- https://github.com/tboox/tbox/issues/218
add_cxflags("gcc::-Wno-error=dangling-pointer")
end
-- set wasm toolchain
if is_plat("wasm") then
add_requires("emscripten")
set_toolchains("emcc@emscripten")
end
-- set cosmocc toolchain, e.g. xmake f -p linux --cosmocc=y
if has_config("cosmocc") then
add_requires("cosmocc")
set_toolchains("@cosmocc")
set_policy("build.ccache", false)
end
-- add build modes
add_rules("mode.release", "mode.debug", "mode.profile", "mode.coverage", "mode.valgrind", "mode.asan", "mode.tsan", "mode.ubsan")
if is_mode("debug") then
add_defines("__tb_debug__")
end
if is_mode("valgrind") then
add_defines("__tb_valgrind__")
end
if is_mode("asan") then
add_defines("__tb_sanitize_address__")
end
if is_mode("tsan") then
add_defines("__tb_sanitize_thread__")
end
-- small or micro?
if has_config("small", "micro") then
add_defines("__tb_small__")
set_configvar("TB_CONFIG_SMALL", 1)
if is_mode("release", "profile") and
-- coroutine maybe crash if we enable lto on windows, we disable small mode.
-- TODO we should fix it in context code later
-- https://github.com/tboox/tbox/issues/175
not has_config("coroutine") then
set_optimize("smallest")
end
add_cxflags("-fno-stack-protector")
end
-- for the windows platform (msvc)
if is_plat("windows") then
add_defines("NOCRYPT", "NOGDI")
if is_mode("debug") then
add_cxflags("-Gs", "-RTC1")
set_runtimes("MTd")
else
set_runtimes("MT")
end
add_syslinks("ws2_32", "user32")
elseif is_plat("android") then
add_syslinks("m", "c")
elseif is_plat("mingw", "msys", "cygwin") then
add_syslinks("ws2_32", "user32", "pthread", "m")
elseif is_plat("haiku") then
add_syslinks("pthread", "network", "m", "c")
else
add_syslinks("pthread", "dl", "m", "c")
end
-- enable backtrace symbols for linux
if is_plat("linux") and is_mode("debug") then
add_ldflags("-rdynamic")
end
-- include project sources
includes("src")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。