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.
70 lines
2.2 KiB
70 lines
2.2 KiB
function _host_tool_configs(package) |
|
return { |
|
"-DCMAKE_BUILD_TYPE=Release", |
|
|
|
"-DWITH_CURL=none", |
|
"-DWITH_KERBEROS=none", |
|
"-DWITH_FIDO=none", |
|
} |
|
end |
|
|
|
function _target_configs(package) |
|
local configs = {} |
|
table.insert(configs, "-DWITH_CURL=" .. (package:config("curl") and "system" or "none")) |
|
table.insert(configs, "-DWITH_KERBEROS=" .. (package:config("kerberos") and "system" or "none")) |
|
table.insert(configs, "-DWITH_FIDO=" .. (package:config("fido") and "system" or "none")) |
|
return configs |
|
end |
|
|
|
function get(package, build_host_tool) |
|
local configs = { |
|
"-DWITH_BUILD_ID=OFF", |
|
"-DWITH_UNIT_TESTS=OFF", |
|
"-DENABLED_PROFILING=OFF", |
|
"-DWIX_DIR=OFF", |
|
"-DWITH_TEST_TRACE_PLUGIN=OFF", |
|
"-DMYSQL_MAINTAINER_MODE=OFF", |
|
"-DBUNDLE_RUNTIME_LIBRARIES=OFF", |
|
"-DDOWNLOAD_BOOST=OFF", |
|
|
|
"-DWITH_BOOST=system", |
|
"-DWITH_LIBEVENT=system", |
|
"-DWITH_ZLIB=system", |
|
"-DWITH_ZSTD=system", |
|
"-DWITH_SSL=system", |
|
"-DWITH_LZ4=system", |
|
"-DWITH_RAPIDJSON=system", |
|
} |
|
|
|
if package:is_cross() then |
|
table.insert(configs, "-DCMAKE_CROSSCOMPILING=ON") |
|
end |
|
|
|
if package:is_plat("linux") then |
|
local widec = package:dep("ncurses"):config("widec") |
|
-- From FindCurses.cmake |
|
table.insert(configs, "-DCURSES_NEED_WIDE=" .. (widec and "ON" or "OFF")) |
|
table.insert(configs, "-DWITH_EDITLINE=system") |
|
end |
|
|
|
if package:config("server") then |
|
-- TODO: server deps |
|
table.insert(configs, "-DWITH_ICU=system") |
|
table.insert(configs, "-DWITH_PROTOBUF=system") |
|
end |
|
|
|
if package:config("x") then |
|
table.join2(configs, {"-DWITH_MYSQLX=ON", "-DWITH_MYSQLX_USE_PROTOBUF_FULL=ON"}) |
|
else |
|
table.insert(configs, "-DWITH_MYSQLX=OFF") |
|
end |
|
|
|
if package:config("cluster") then |
|
table.join2(configs, {"-DWITH_NDB=ON", "-DWITH_NDBCLUSTER=ON"}) |
|
else |
|
table.join2(configs, {"-DWITH_NDB=OFF", "-DWITH_NDBCLUSTER=OFF"}) |
|
end |
|
table.insert(configs, "-DWITHOUT_SERVER=" .. (package:config("server") and "OFF" or "ON")) |
|
table.join2(configs, (build_host_tool and _host_tool_configs(package) or _target_configs(package))) |
|
return configs |
|
end
|
|
|