Files
Alvin/cmake/AlvinConfig.cmake.in
T
Aeth3randClaude Opus 5.5 ca7e62ac8d Add Alvin library: input, capture, windows and vision
A cross-platform C++23 library with a platform-neutral public API and
runtime-selected backends:

- Input: Wayland virtual pointer/keyboard (Hyprland, wlroots), libei via
  the RemoteDesktop portal (GNOME, KDE), uinput, and Win32 SendInput
- Capture: ScreenCast portal + PipeWire, and Win32 GDI
- Windows: Hyprland IPC and Win32 enumeration
- Monitors via wl_output/xdg-output and EnumDisplayMonitors
- Optional OpenCV template matching (alvin::vision)

Also adds the `alvin` CLI, Catch2 unit tests, install rules with
find_package(Alvin) support, API docs (docs/API.md and the Obsidian
vault), and README instructions for both ways of consuming the library.

Windows backends are written but not yet compiled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 13:58:20 -04:00

19 lines
540 B
CMake

@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
# A static libalvin doesn't record its own dependencies, so find them again.
if(@ALVIN_NEEDS_PKGCONFIG@)
find_dependency(PkgConfig)
@ALVIN_CONFIG_DEPENDENCIES@endif()
set(Alvin_vision_FOUND @ALVIN_HAS_VISION@)
if(Alvin_vision_FOUND)
find_dependency(OpenCV COMPONENTS core imgproc imgcodecs)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/AlvinTargets.cmake")
# find_package(Alvin REQUIRED COMPONENTS vision) fails if Alvin was built without OpenCV.
check_required_components(Alvin)