diff --git a/packages/k/kdbindings/xmake.lua b/packages/k/kdbindings/xmake.lua new file mode 100644 index 000000000..7d77cf8cb --- /dev/null +++ b/packages/k/kdbindings/xmake.lua @@ -0,0 +1,29 @@ +package("kdbindings") + set_kind("library", {headeronly = true}) + set_homepage("https://github.com/KDAB/KDBindings") + set_description("Reactive programming & data binding in C++") + set_license("MIT") + + add_urls("https://github.com/KDAB/KDBindings/archive/refs/tags/$(version).tar.gz", + "https://github.com/KDAB/KDBindings.git") + + add_versions("v1.0.5", "4d001419809a719f8c966e9bc73f457180325655deca0a11c07c47ee112447a3") + + add_deps("cmake") + + on_install(function (package) + import("package.tools.cmake").install(package, { + "-DKDBindings_TESTS=OFF", + "-DKDBindings_EXAMPLES=OFF" + }) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + void test() { + KDBindings::Signal signal; + signal.connect([](int arg1, int arg2) {}); + signal.emit(0, 1); + } + ]]}, {configs = {languages = "c++17"}, includes = "kdbindings/signal.h"})) + end)