Skip to content

Don't use manual memory management in wxrc #4041

Don't use manual memory management in wxrc

Don't use manual memory management in wxrc #4041

Workflow file for this run

# CI workflow building wxMSW under Windows.
name: MSW builds
on:
push:
branches:
- master
paths-ignore:
- '.circleci/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/workflows/ci.yml'
- '.github/workflows/ci_cmake.yml'
- '.github/workflows/ci_mac.yml'
- '.github/workflows/ci_msw_cross.yml'
- '.github/workflows/docs_update.yml'
- 'build/tools/appveyor*.bat'
- 'distrib/**'
- 'docs/**'
- 'interface/**'
- 'include/wx/gtk/**'
- 'include/wx/osx/**'
- 'locale/**'
- 'src/gtk/**'
- 'src/osx/**'
- '*.md'
- '*.yml'
pull_request:
branches:
- master
paths-ignore:
- '.circleci/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/workflows/ci.yml'
- '.github/workflows/ci_cmake.yml'
- '.github/workflows/ci_mac.yml'
- '.github/workflows/ci_msw_cross.yml'
- '.github/workflows/docs_update.yml'
- 'build/tools/appveyor*.bat'
- 'distrib/**'
- 'docs/**'
- 'interface/**'
- 'include/wx/gtk/**'
- 'include/wx/osx/**'
- 'locale/**'
- 'src/gtk/**'
- 'src/osx/**'
- '*.md'
- '*.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
msw-msvs:
runs-on: windows-${{ matrix.vsversion }}
name: wxMSW vs${{ matrix.vsversion }} ${{ matrix.configuration }} ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
include:
- configuration: 'DLL Debug'
platform: 'x64'
vsversion: 2022
use_utf8: true
- configuration: 'Debug'
platform: 'Win32'
vsversion: 2019
- configuration: 'DLL Release'
platform: 'x64'
vsversion: 2019
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Configure build options
working-directory: include/wx/msw
run: |
$use_utf8 = "${{ matrix.use_utf8 }}" ? 1 : 0
if ( $use_utf8 ) {
$txt = Get-Content setup.h
Write-Output $txt |
%{$_ -replace "define wxUSE_UNICODE_UTF8 0", "define wxUSE_UNICODE_UTF8 $use_utf8"} |
Set-Content setup.h
}
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
with:
vs-prerelease: true
- name: Build
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} build\msw\wx_vc16.sln
if ( '${{ matrix.configuration }}'.IndexOf('DLL') -ne -1 ) {
$dlldir = Join-Path (Get-Location) 'lib\vc_${{ matrix.platform }}_dll'
Write-Output "Adding $dlldir to the PATH"
$dlldir | Out-File -Append $env:GITHUB_PATH
}
- name: Build minimal sample
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} samples\minimal\minimal_vc16.sln
- name: Build tests
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_vc16.sln
- name: Run tests
working-directory: tests
run: |
.\vc*msw*\test.exe
- name: Build GUI tests
run: |
msbuild /noLogo /m '/p:Configuration=${{ matrix.configuration }}' /p:Platform=${{ matrix.platform }} tests\test_gui_vc16.sln
- name: Run GUI tests
working-directory: tests
run: |
.\vc*msw*\test_gui.exe
msw-msys2-clang:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
update: true
install: mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang
- name: Configuring
run: |
clang --version
cmake --version
mkdir build_cmake
pushd build_cmake
cmake -G "MinGW Makefiles" \
-DCMAKE_C_COMPILER=clang.exe \
-DCMAKE_CXX_COMPILER=clang++.exe \
-DCMAKE_CXX_FLAGS=-Werror \
-DCMAKE_BUILD_TYPE=Release \
-DwxBUILD_SAMPLES=ALL \
-DwxBUILD_TESTS=ALL \
-DwxBUILD_DEMOS=ON \
-DwxUSE_WEBVIEW_EDGE=ON \
..
- name: Building
working-directory: build_cmake
run: |
wxPROC_COUNT=`../build/tools/proc_count.sh`
cmake --build . -- -j$wxPROC_COUNT