mirror of
https://github.com/ScintillaOrg/lexilla.git
synced 2025-05-08 19:06:45 +08:00

Since this is cross-compiling for ARM64, the tests can't run there so are omitted using the TEST environment variable. The CheckLexilla step can't run so is exceluded. An extra artifact lexilla-arm64.dll is uploaded although it should be renamed to lexilla.dll for use.
63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
name: "Build and check Lexilla on Win32 with Visual C++"
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
# Compile for amd64 and cross-compile for arm64. Tests run only for amd64.
|
|
build:
|
|
|
|
runs-on: windows-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
arch:
|
|
- amd64
|
|
- amd64_arm64
|
|
env:
|
|
TEST: ${{ matrix.arch == 'amd64' && 'test' || '' }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Preparing nmake
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: ${{ matrix.arch }}
|
|
- name: Install Scintilla source
|
|
run: |
|
|
pwd
|
|
cd ..
|
|
curl -O https://www.scintilla.org/scintilla500.zip
|
|
ls
|
|
7z x scintilla500.zip
|
|
cd lexilla
|
|
- name: Unit Test
|
|
run: |
|
|
cd test/unit
|
|
nmake -f test.mak DEBUG=1 $env:TEST
|
|
cd ../..
|
|
- name: Build Lexilla
|
|
run: |
|
|
cd src
|
|
nmake -f lexilla.mak DEBUG=1
|
|
cd ..
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: lexilla${{ matrix.arch == 'amd64_arm64' && '-arm64' || '' }}.dll
|
|
path: bin/lexilla.dll
|
|
- name: Test lexing and folding
|
|
run: |
|
|
cd test
|
|
nmake -f testlexers.mak DEBUG=1 $env:TEST
|
|
cd ..
|
|
- name: CheckLexilla C Example
|
|
if: matrix.arch == 'amd64'
|
|
run: |
|
|
cd examples/CheckLexilla
|
|
cl -MP CheckLexilla.c -I ../../include -Fe: CheckLexilla
|
|
.\CheckLexilla.exe
|
|
cd ../..
|
|
- name: SimpleLexer Example
|
|
run: |
|
|
cd examples/SimpleLexer
|
|
cl -MP -std:c++17 -EHsc -LD -I ../../../scintilla/include -I ../../include -I ../../lexlib SimpleLexer.cxx ../../lexlib/*.cxx
|
|
cd ../..
|