mirror of
https://github.com/LizardByte/libdisplaydevice.git
synced 2026-07-21 15:07:35 +00:00
C++ library to modify display devices.
https://docs.lizardbyte.dev/projects/libdisplaydevice
- C++ 98.4%
- CMake 1.4%
- C 0.2%
|
|
||
|---|---|---|
| .github | ||
| .run | ||
| cmake | ||
| docs | ||
| src | ||
| tests | ||
| third-party | ||
| .clang-format | ||
| .gitignore | ||
| .gitmodules | ||
| .readthedocs.yaml | ||
| .sonarcloud.properties | ||
| AGENTS.md | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
| sonar-project.properties | ||
libdisplaydevice
C++ library to modify display devices.
Overview
ℹ️ About
LizardByte has the full documentation hosted on Read the Docs.
libdisplaydevice is a library that provides a common interface for interacting with display devices. It is intended to be used by applications that need to interact with displays, such as screen capture software, remote desktop software, and video players.
Windows and macOS are currently supported. Support for Linux is planned for the future.
🛠️ Build
Clone
Ensure git is installed and run the following:
git clone https://github.com/lizardbyte/libdisplaydevice.git --recurse-submodules
cd libdisplaydevice
mkdir -p build
Windows
First, you need to install MSYS2.
For AMD64 startup "MSYS2 UCRT64" (or for ARM64 startup "MSYS2 CLANGARM64") then execute the following commands.
Update all packages
pacman -Syu
Set toolchain variable
For UCRT64:
export TOOLCHAIN="ucrt-x86_64"
For CLANGARM64:
export TOOLCHAIN="clang-aarch64"
Install dependencies
dependencies=(
"doxygen"
"mingw-w64-${TOOLCHAIN}-boost"
"mingw-w64-${TOOLCHAIN}-cmake"
"mingw-w64-${TOOLCHAIN}-graphviz"
"mingw-w64-${TOOLCHAIN}-ninja"
"mingw-w64-${TOOLCHAIN}-nlohmann-json"
"mingw-w64-${TOOLCHAIN}-nodejs"
"mingw-w64-${TOOLCHAIN}-toolchain"
)
pacman -S "${dependencies[@]}"
Build
cmake -G Ninja -B build -S .
ninja -C build
Test
./build/tests/test_libdisplaydevice
❓ Support
Our support methods are listed in our LizardByte Docs.