diff --git a/packages/c/curlpp/xmake.lua b/packages/c/curlpp/xmake.lua new file mode 100644 index 000000000..c7ad6be1a --- /dev/null +++ b/packages/c/curlpp/xmake.lua @@ -0,0 +1,38 @@ +package("curlpp") + set_homepage("http://www.curlpp.org") + set_description("C++ wrapper around libcURL") + set_license("MIT") + + add_urls("https://github.com/jpbarrette/curlpp.git") + add_versions("2023.07.27", "1d8c7876cc81d7d125b663066282b207d9cbfe9a") + + add_deps("libcurl") + + on_install("windows", "linux", "macosx", "mingw", "cross", function (package) + io.writefile("xmake.lua", ([[ + set_languages("c++11") + add_rules("mode.debug", "mode.release") + add_requires("libcurl") + target("curlpp") + set_kind("$(kind)") + add_files("src/**.cpp") + add_includedirs("include/") + add_headerfiles("include/(**.hpp)", "include/(**.inl)") + add_packages("libcurl") + if is_plat("windows") and is_kind("shared") then + add_rules("utils.symbols.export_all", {export_classes = true}) + end + ]])) + import("package.tools.xmake").install(package) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + int main() { + curlpp::Cleanup cleaner; + curlpp::Easy request; + request.setOpt("https://example.com"); + } + ]]}, { configs = {languages = "c++11"}, includes = {"curlpp/cURLpp.hpp", "curlpp/Easy.hpp", "curlpp/Options.hpp"} + })) + end)