Skip to content

LizardByte/libdisplaydevice

Overview

GitHub Workflow Status (CI) Codecov GitHub stars

About

LizardByte has the full documentation hosted on Read the Docs.

libdisplaydevice is a WIP 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.

Initial support is planned for Windows, but could be expanded to other platforms in 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.

[TOC]

About

C++ library to modify display devices.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages