Add Windows MSVC compilation target and CI
Restructure compat layer: #include_next headers moved to posix/ for MinGW, new standalone headers in msvc/ for MSVC (unistd.h, utime.h, getopt.h). Add getopt() implementation, chmod/unlink/chdir compat functions, MSVC CRT initializer for UTF-8 console, _pgmptr fix.
This commit is contained in:
@@ -11,13 +11,21 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
include:
|
||||
- { os: ubuntu-latest, name: Linux }
|
||||
- { os: macos-latest, name: macOS }
|
||||
- { os: windows-latest, name: Windows (MSVC) }
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.name }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Configure
|
||||
run: cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||
- name: Build
|
||||
run: cmake --build build
|
||||
- name: Smoke test
|
||||
run: cmake --build build --config Release
|
||||
- name: Smoke test (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: ./build/cli/uc2 -h
|
||||
- name: Smoke test (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
run: .\build\cli\Release\uc2.exe -h
|
||||
|
||||
Reference in New Issue
Block a user