xmake.lua 1.4 KB

1234567891011121314151617181920212223242526272829
  1. package("libevdev")
  2. set_homepage("https://www.freedesktop.org/wiki/Software/libevdev/")
  3. set_description("libevdev is a wrapper library for evdev devices. it moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc. The eventual goal is that libevdev wraps all ioctls available to evdev devices, thus making direct access unnecessary.")
  4. set_license("MIT")
  5. add_urls("https://gitlab.freedesktop.org/libevdev/libevdev/-/archive/libevdev-$(version)/libevdev-libevdev-$(version).tar.gz")
  6. add_versions("1.13.1", "438a9060dca43a305f75a590624412d1f858a908d4807433c67c58770f676a47")
  7. add_includedirs("include/libevdev-1.0")
  8. add_deps("meson", "ninja", "pkg-config")
  9. on_install("linux", function (package)
  10. import("package.tools.meson").build(package, {"-Dtests=disabled", "-Ddocumentation=disabled"}, {buildir = "out"})
  11. import("package.tools.ninja").install(package, {}, {buildir = "out"})
  12. end)
  13. on_test(function (package)
  14. assert(package:check_csnippets({test = [[
  15. #include <stdlib.h>
  16. #include <libevdev/libevdev.h>
  17. #include <libevdev/libevdev-uinput.h>
  18. void test () {
  19. struct libevdev *dev = NULL;
  20. dev = libevdev_new();
  21. libevdev_free(dev);
  22. }
  23. ]]}, {configs = {languages = "c11"}}))
  24. end)