configs.lua 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. function _host_tool_configs(package)
  2. return {
  3. "-DCMAKE_BUILD_TYPE=Release",
  4. "-DWITH_CURL=none",
  5. "-DWITH_KERBEROS=none",
  6. "-DWITH_FIDO=none",
  7. }
  8. end
  9. function _target_configs(package)
  10. local configs = {}
  11. table.insert(configs, "-DWITH_CURL=" .. (package:config("curl") and "system" or "none"))
  12. table.insert(configs, "-DWITH_KERBEROS=" .. (package:config("kerberos") and "system" or "none"))
  13. table.insert(configs, "-DWITH_FIDO=" .. (package:config("fido") and "system" or "none"))
  14. return configs
  15. end
  16. function get(package, build_host_tool)
  17. local configs = {
  18. "-DWITH_BUILD_ID=OFF",
  19. "-DWITH_UNIT_TESTS=OFF",
  20. "-DENABLED_PROFILING=OFF",
  21. "-DWIX_DIR=OFF",
  22. "-DWITH_TEST_TRACE_PLUGIN=OFF",
  23. "-DMYSQL_MAINTAINER_MODE=OFF",
  24. "-DBUNDLE_RUNTIME_LIBRARIES=OFF",
  25. "-DDOWNLOAD_BOOST=OFF",
  26. "-DWITH_BOOST=system",
  27. "-DWITH_LIBEVENT=system",
  28. "-DWITH_ZLIB=system",
  29. "-DWITH_ZSTD=system",
  30. "-DWITH_SSL=system",
  31. "-DWITH_LZ4=system",
  32. "-DWITH_RAPIDJSON=system",
  33. }
  34. if package:is_cross() then
  35. table.insert(configs, "-DCMAKE_CROSSCOMPILING=ON")
  36. end
  37. if package:is_plat("linux") then
  38. local widec = package:dep("ncurses"):config("widec")
  39. -- From FindCurses.cmake
  40. table.insert(configs, "-DCURSES_NEED_WIDE=" .. (widec and "ON" or "OFF"))
  41. table.insert(configs, "-DWITH_EDITLINE=system")
  42. end
  43. if package:config("server") then
  44. -- TODO: server deps
  45. table.insert(configs, "-DWITH_ICU=system")
  46. table.insert(configs, "-DWITH_PROTOBUF=system")
  47. end
  48. if package:config("x") then
  49. table.join2(configs, {"-DWITH_MYSQLX=ON", "-DWITH_MYSQLX_USE_PROTOBUF_FULL=ON"})
  50. else
  51. table.insert(configs, "-DWITH_MYSQLX=OFF")
  52. end
  53. if package:config("cluster") then
  54. table.join2(configs, {"-DWITH_NDB=ON", "-DWITH_NDBCLUSTER=ON"})
  55. else
  56. table.join2(configs, {"-DWITH_NDB=OFF", "-DWITH_NDBCLUSTER=OFF"})
  57. end
  58. table.insert(configs, "-DWITHOUT_SERVER=" .. (package:config("server") and "OFF" or "ON"))
  59. table.join2(configs, (build_host_tool and _host_tool_configs(package) or _target_configs(package)))
  60. return configs
  61. end