mirror of
https://github.com/php-win-ext/winlib-builder.git
synced 2026-03-24 01:02:11 +01:00
This may be useful or not, but since it is done for MSBuild builds, it should probably be done for CMake builds, too.
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
name: Build libmemcached
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: libmemcached tag to build
|
|
required: true
|
|
php:
|
|
description: PHP version to build for
|
|
required: true
|
|
defaults:
|
|
run:
|
|
shell: cmd
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
arch: [x64, x86]
|
|
runs-on: windows-2022
|
|
steps:
|
|
- name: Checkout winlib-builder
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: winlib-builder
|
|
- name: Checkout libmemcached
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: libmemcached
|
|
repository: awesomized/libmemcached
|
|
ref: ${{github.event.inputs.version}}
|
|
- name: Patch libmemcached
|
|
run: cd libmemcached && git apply --ignore-whitespace ..\winlib-builder\patches\libmemcached.patch
|
|
- name: Compute virtual inputs
|
|
id: virtuals
|
|
run: powershell winlib-builder/scripts/compute-virtuals -version ${{github.event.inputs.php}} -arch ${{matrix.arch}}
|
|
- name: Install flex and bison
|
|
run: choco install winflexbison3
|
|
- run: path
|
|
- name: Configure libmemcached
|
|
run: cd libmemcached && md build && cd build && cmake -G "Visual Studio 17 2022" -A ${{steps.virtuals.outputs.msarch}} -T ${{steps.virtuals.outputs.msts}} -DCMAKE_SYSTEM_VERSION=${{steps.virtuals.outputs.winsdk}} ..
|
|
- name: Build libmemcached
|
|
run: cd libmemcached\build && cmake --build . --config RelWithDebInfo
|
|
- name: Install libmemcached
|
|
run: |
|
|
cd libmemcached\build
|
|
cmake --install . --config RelWithDebInfo --prefix ..\..\install
|
|
xcopy src\libhashkit\RelWithDebInfo\libhashkit.pdb ..\..\install\bin\*
|
|
xcopy src\libmemcached\RelWithDebInfo\libmemcached.pdb ..\..\install\bin\*
|
|
xcopy src\libmemcachedprotocol\RelWithDebInfo\libmemcachedprotocol.pdb ..\..\install\bin\*
|
|
xcopy src\libmemcachedutil\RelWithDebInfo\libmemcachedutil.pdb ..\..\install\bin\*
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: libmemcached-${{github.event.inputs.version}}-${{steps.virtuals.outputs.vs}}-${{matrix.arch}}
|
|
path: install
|