Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 2.36 KB

File metadata and controls

86 lines (63 loc) · 2.36 KB

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]