mirror of https://github.com/stascorp/rdpwrap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.2 KiB
66 lines
2.2 KiB
name: Build C++ DLL
|
|
|
|
# Trigger on:
|
|
# - PRs targeting main/master that touch C++ source (compile check before merge)
|
|
# - Version tag pushes (e.g. v1.7.0)
|
|
# - Manual dispatch
|
|
on:
|
|
pull_request:
|
|
branches: [main, master]
|
|
paths:
|
|
- 'src-x86-x64-Fusix/**'
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
# ── Build x64 and Win32 release DLLs ─────────────────────────────────────────
|
|
build:
|
|
runs-on: windows-2022
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- platform: x64
|
|
msbuild_platform: x64
|
|
- platform: x86
|
|
msbuild_platform: Win32
|
|
- platform: arm64
|
|
msbuild_platform: ARM64
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup MSBuild
|
|
uses: microsoft/setup-msbuild@v3
|
|
|
|
# Override the v120 platform toolset with the VS 2022 toolset (v143).
|
|
# The rdpwrap C++ source is standard Win32 API code and compiles cleanly
|
|
# with any modern MSVC version.
|
|
- name: Build rdpwrap.dll (${{ matrix.platform }})
|
|
working-directory: src-x86-x64-Fusix
|
|
run: |
|
|
msbuild RDPWrap.vcxproj `
|
|
/p:Configuration=Release `
|
|
/p:Platform="${{ matrix.msbuild_platform }}" `
|
|
/p:PlatformToolset=v143 `
|
|
/p:WindowsTargetPlatformVersion=10.0
|
|
|
|
- name: Upload ${{ matrix.platform }} artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: rdpwrap-dll-${{ matrix.platform }}
|
|
path: src-x86-x64-Fusix/Release/${{ matrix.platform }}/rdpwrap.dll
|
|
if-no-files-found: error
|
|
|
|
# NOTE: Full GitHub Releases (including rdpwrap DLLs) are published by build-and-release.yml.
|
|
# This workflow stops at the artifact upload step so that partial releases are never
|
|
# created on tag pushes. Run build-and-release.yml to produce the canonical release.
|