xmake.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package("mongo-c-driver")
  2. set_homepage("http://mongoc.org/")
  3. set_description("The MongoDB C Driver.")
  4. set_license("Apache-2.0")
  5. add_urls("https://github.com/mongodb/mongo-c-driver/archive/$(version).zip",
  6. "https://github.com/mongodb/mongo-c-driver.git")
  7. add_versions("1.20.1", "3a856e1c40b02fc5160cb7b39594d654f3076eeb671829b867971e7d35ed497c")
  8. add_versions("1.19.0", "3e545964ee82ee60afe4213852208e6174297b19d6b837eca3c711af34a4b107")
  9. add_deps("cmake")
  10. if is_plat("macosx", "linux") then
  11. add_deps("openssl")
  12. end
  13. add_includedirs("include/libbson-1.0")
  14. add_includedirs("include/libmongoc-1.0")
  15. on_install("windows", "linux", "macosx", function (package)
  16. local configs = {"-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF",
  17. "-DENABLE_ICU=OFF",
  18. "-DENABLE_TESTS=OFF",
  19. "-DENABLE_EXAMPLES=OFF"}
  20. if package:is_plat("windows") then
  21. table.insert(configs, "-DENABLE_EXTRA_ALIGNMENT=0")
  22. end
  23. table.insert(configs, "-DBUILD_VERSION=" .. package:version())
  24. table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "RelWithDebInfo"))
  25. table.insert(configs, "-DENABLE_STATIC=" .. (package:config("shared") and "OFF" or "BUILD_ONLY"))
  26. table.insert(configs, "-DENABLE_STATIC_BUILD=" .. (package:config("shared") and "OFF" or "BUILD_ONLY"))
  27. import("package.tools.cmake").install(package, configs)
  28. end)
  29. on_test(function (package)
  30. assert(package:has_cfuncs("mongoc_init", {includes = "mongoc/mongoc.h"}))
  31. end)