strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
- arch: [arm]
+ arch: [arm, arm64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (arm)
+ if: ${{ matrix.arch == 'arm' }}
uses: ilammy/msvc-dev-cmd@v1
with:
- arch: x86_arm
+ arch: amd64_arm
+ toolset: ${{matrix.toolset}}
+ - name: Activate VS cmd (arm64)
+ if: ${{ matrix.arch == 'arm64' }}
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build base module
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target base/all
- name: Build control panel applets
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target dll/cpl/all
- name: Build rosapps
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
+ - name: Build some applications (arm64)
+ if: ${{ matrix.arch == 'arm64' }}
+ run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v2
with:
# if defined (_MIPSEB) || defined (__sparc) || defined (_AIX) || \
defined (__hpux) || defined (macintosh) || defined (_MAC)
# define _STLP_BIG_ENDIAN 1
-# elif defined (__i386) || defined (_M_IX86) || defined (_M_ARM) || \
+# elif defined (__i386) || defined (_M_IX86) || defined (_M_ARM) || defined (_M_ARM64) || \
defined (__amd64__) || defined (_M_AMD64) || defined (__x86_64__) || \
defined (__alpha__)
# define _STLP_LITTLE_ENDIAN 1
251 stdcall GetClassInfoExW(long wstr ptr)
252 stdcall GetClassInfoW(long wstr ptr)
253 stdcall GetClassLongA(long long)
-@ stdcall -arch=x86_64 GetClassLongPtrA(ptr long)
-@ stdcall -arch=x86_64 GetClassLongPtrW(ptr long)
+@ stdcall -arch=x86_64,arm64 GetClassLongPtrA(ptr long)
+@ stdcall -arch=x86_64,arm64 GetClassLongPtrW(ptr long)
254 stdcall GetClassLongW(long long)
255 stdcall GetClassNameA(long ptr long)
256 stdcall GetClassNameW(long ptr long)