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>
9 lines
342 B
CMake
9 lines
342 B
CMake
add_executable(alvin_cli alvin_cli.cpp)
|
|
set_target_properties(alvin_cli PROPERTIES OUTPUT_NAME alvin)
|
|
target_link_libraries(alvin_cli PRIVATE alvin::alvin)
|
|
if(TARGET alvin::vision)
|
|
target_link_libraries(alvin_cli PRIVATE alvin::vision)
|
|
target_compile_definitions(alvin_cli PRIVATE ALVIN_CLI_VISION)
|
|
endif()
|
|
install(TARGETS alvin_cli)
|