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.
53 lines
1.4 KiB
53 lines
1.4 KiB
option("openmp", {default = false}) |
|
option("regex", {default = false}) |
|
option("rand", {default = false}) |
|
|
|
add_rules("mode.debug", "mode.release") |
|
|
|
if has_config("openmp") then |
|
add_requires("openmp") |
|
add_packages("openmp") |
|
end |
|
|
|
if has_config("regex") then |
|
add_defines("USE_GKREGEX", {public = true}) |
|
end |
|
|
|
if has_config("rand") then |
|
add_defines("USE_GKRAND") |
|
end |
|
|
|
includes("@builtin/check") |
|
|
|
configvar_check_cincludes("HAVE_EXECINFO_H", "execinfo.h") |
|
configvar_check_cfuncs("HAVE_GETLINE", "getline") |
|
|
|
target("gklib") |
|
set_kind("$(kind)") |
|
add_files("*.c") |
|
add_headerfiles("*.h") |
|
|
|
add_includedirs(".") |
|
add_vectorexts("all") |
|
|
|
if is_plat("windows") then |
|
add_files("win32/*.c") |
|
add_headerfiles("(win32/adapt.h)") |
|
add_defines("_CRT_SECURE_NO_DEPRECATE", "USE_GKREGEX", "__thread=__declspec(thread)", {public = true}) |
|
if is_kind("shared") then |
|
add_rules("utils.symbols.export_all") |
|
end |
|
elseif is_plat("mingw") then |
|
add_defines("USE_GKREGEX") |
|
elseif is_plat("linux") then |
|
add_syslinks("m") |
|
add_defines("_FILE_OFFSET_BITS=64") |
|
elseif is_plat("bsd") then |
|
add_syslinks("m") |
|
end |
|
|
|
on_config(function (target) |
|
if not target:check_csnippets({test = "extern __thread int x;"}) then |
|
target:add("defines", "__thread") |
|
end |
|
end)
|
|
|