xmake.lua 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. package("doctest")
  2. set_homepage("http://bit.ly/doctest-docs")
  3. set_description("The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD")
  4. set_urls("https://github.com/doctest/doctest/archive/refs/tags/v$(version).tar.gz",
  5. "https://github.com/doctest/doctest/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/onqtam/doctest/archive/$(version).tar.gz",
  7. "https://github.com/onqtam/doctest.git")
  8. add_versions("2.4.9", "19b2df757f2f3703a5e63cee553d85596875f06d91a3333acd80a969ef210856")
  9. add_versions("2.4.8", "f52763630aa17bd9772b54e14b6cdd632c87adf0169455a86a49bd94abf2cd83")
  10. add_versions("2.3.6", "f63c3c01021ba3fb35a0702127abfaa6fc44aaefd309e2c246e62a083deffa1f")
  11. add_versions("2.3.1", "b3d3c6133874e3a8c8e319cab33167156b6b1d2ed1ddde08c2655193cdeb58a0")
  12. on_install(function (package)
  13. os.cp("doctest", package:installdir("include"))
  14. end)
  15. on_test(function (package)
  16. assert(package:check_cxxsnippets({test = [[
  17. int factorial(int number) { return number <= 1 ? number : factorial(number - 1) * number; }
  18. TEST_CASE("testing the factorial function") {
  19. CHECK(factorial(1) == 1);
  20. CHECK(factorial(2) == 2);
  21. CHECK(factorial(3) == 6);
  22. CHECK(factorial(10) == 3628800);
  23. }
  24. ]]}, {configs = {languages = "c++11"}, includes = "doctest/doctest.h", defines = "DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN"}))
  25. end)