mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-11-13 07:17:28 +00:00
[client] windows: add native clang-cl build
Build the Windows client against the MSVC ABI while retaining clang language support. Use vcpkg for ANGLE and libsamplerate, and build MsQuic with its bundled static OpenSSL.
This commit is contained in:
44
doc/build_client_windows.rst
Normal file
44
doc/build_client_windows.rst
Normal file
@@ -0,0 +1,44 @@
|
||||
.. _build_client_windows:
|
||||
|
||||
Build the Windows client
|
||||
########################
|
||||
|
||||
The Windows client uses ``clang-cl`` and the MSVC ABI. ANGLE continues to
|
||||
provide EGL and OpenGL ES, while MsQuic and its bundled OpenSSL are linked
|
||||
statically.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Install the following tools:
|
||||
|
||||
- Visual Studio 2022 Build Tools with the Desktop development with C++
|
||||
workload, Clang tools for Windows, and a Windows SDK
|
||||
- CMake 3.21 or newer
|
||||
- Ninja
|
||||
- Git
|
||||
- Perl
|
||||
- NASM
|
||||
- vcpkg
|
||||
|
||||
Set ``VCPKG_ROOT`` to the vcpkg checkout. The client manifest installs native
|
||||
MSVC-ABI builds of ANGLE and libsamplerate automatically.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Open an x64 Native Tools command prompt or Developer PowerShell, then run:
|
||||
|
||||
.. code:: powershell
|
||||
|
||||
git submodule update --init --recursive
|
||||
cd client
|
||||
cmake --preset windows-clangcl
|
||||
cmake --build --preset windows-clangcl-release
|
||||
|
||||
The executable is written beneath ``client/build/windows-clangcl``. The
|
||||
vcpkg toolchain copies the required ANGLE and libsamplerate runtime DLLs
|
||||
beside it.
|
||||
|
||||
The native build deliberately does not consume MinGW ``.a`` or ``.dll.a``
|
||||
libraries. All statically linked code must use the MSVC ABI.
|
||||
@@ -13,6 +13,7 @@ memory for frames, and a native Linux client for display and input.
|
||||
quickstart
|
||||
|
||||
build
|
||||
build_client_windows
|
||||
install
|
||||
|
||||
usage
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
ABI
|
||||
ANGLE
|
||||
Anime4K
|
||||
backend
|
||||
backends
|
||||
@@ -9,6 +11,7 @@ cadence
|
||||
cgroups
|
||||
checkboxes
|
||||
clang
|
||||
clang-cl
|
||||
cmake
|
||||
codec
|
||||
compositor
|
||||
@@ -53,6 +56,7 @@ lexically
|
||||
libdecor
|
||||
libpipewire
|
||||
libpulse
|
||||
libsamplerate
|
||||
libvirt
|
||||
linux
|
||||
LookingGlass
|
||||
@@ -65,9 +69,12 @@ mingw
|
||||
mipmapping
|
||||
modprobe
|
||||
mpv
|
||||
MsQuic
|
||||
MSVC
|
||||
msys
|
||||
multisampling
|
||||
namespace
|
||||
NASM
|
||||
Navi
|
||||
NvFBC
|
||||
Nvidia
|
||||
@@ -123,6 +130,7 @@ upscaled
|
||||
upscaler
|
||||
upscales
|
||||
upscaling
|
||||
vcpkg
|
||||
viewport
|
||||
virt
|
||||
VirtIO
|
||||
|
||||
Reference in New Issue
Block a user