mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 19:45:41 -04:00

It's causing various issues due to the packaging script using the Windows 7 SDK for i386. package.cmd: Don't set CMAKE_SYSTEM_VERSION for i386.
463 lines
14 KiB
Batchfile
463 lines
14 KiB
Batchfile
@ECHO OFF
|
|
SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
|
|
CD /D "%~dp0\.."
|
|
|
|
:: Packaging script for rom-properties, Windows version.
|
|
:: Requires the following:
|
|
:: - CMake 3.0.0 or later
|
|
:: - MSVC 2015, or 2017 with 32-bit and 64-bit compilers
|
|
:: - MSVC 2019, 2022 with v141_xp toolchain is also supported.
|
|
:: - Windows 7 SDK
|
|
:: - zip.exe and unzip.exe in %PATH%
|
|
::
|
|
:: For ARM and ARM64 targets, MSVC 2019 is required.
|
|
:: For the ARM64EC target, MSVC 2022 and CMake 3.22.0 are required.
|
|
::
|
|
:: NOTE: The test suite is NOT run here.
|
|
|
|
ECHO.
|
|
ECHO rom-properties packaging script for Windows
|
|
ECHO.
|
|
|
|
:: Determine the 32-bit "Program Files" directory.
|
|
IF NOT "%ProgramFiles(x86)%" == "" (
|
|
SET "PrgFiles32=%ProgramFiles(x86)%"
|
|
) ELSE (
|
|
SET "PrgFiles32=%ProgramFiles%"
|
|
)
|
|
|
|
:: Determine the 64-bit "Program Files" directory.
|
|
IF NOT "%ProgramW6432%" == "" (
|
|
SET "PrgFiles64=%ProgramW6432%"
|
|
) ELSE (
|
|
SET "PrgFiles64=%ProgramFiles%"
|
|
)
|
|
|
|
SET MSVC32_DIR=
|
|
SET MSVC32_VERSION=
|
|
SET MSVC32_YEAR=
|
|
SET CMAKE32_GENERATOR=
|
|
SET CMAKE32_TOOLSET=
|
|
SET CMAKE32_ARCH=
|
|
|
|
SET MSVC64_DIR=
|
|
SET MSVC64_VERSION=
|
|
SET MSVC64_YEAR=
|
|
SET CMAKE64_GENERATOR=
|
|
SET CMAKE64_TOOLSET=
|
|
SET CMAKE64_ARCH=
|
|
|
|
:: Check for supported MSVC versions.
|
|
:: MSVC 2015
|
|
FOR %%I IN (2015.14) DO (
|
|
SET J=%%I
|
|
SET YEAR=!J:~0,4!
|
|
SET V=!J:~5,2!
|
|
IF EXIST "%PrgFiles32%\Microsoft Visual Studio !V!.0\VC\bin\cl.exe" (
|
|
SET "MSVC32_DIR=%PrgFiles32%\Microsoft Visual Studio !V!.0"
|
|
SET MSVC32_VERSION=!V!.0
|
|
SET MSVC32_YEAR=!YEAR!
|
|
SET CMAKE32_GENERATOR=!V! !YEAR!
|
|
SET CMAKE32_TOOLSET=v!V!0_xp
|
|
|
|
SET "MSVC64_DIR=%PrgFiles32%\Microsoft Visual Studio !V!.0"
|
|
SET MSVC64_VERSION=!V!.0
|
|
SET MSVC64_YEAR=!YEAR!
|
|
SET CMAKE64_GENERATOR=!V! !YEAR! Win64
|
|
SET CMAKE64_TOOLSET=v!V!0
|
|
)
|
|
)
|
|
|
|
:: MSVC 2017
|
|
FOR %%I IN (Community Professional Enterprise) DO (
|
|
IF EXIST "%PrgFiles32%\Microsoft Visual Studio\2017\%%I\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\cl.exe" (
|
|
SET "MSVC32_DIR=%PrgFiles32%\Microsoft Visual Studio\2017\%%I\VC\Tools\MSVC\14.16.27023"
|
|
SET MSVC32_VERSION=14.16
|
|
SET MSVC32_YEAR=2017
|
|
SET CMAKE32_GENERATOR=15 2017
|
|
SET CMAKE32_TOOLSET=v141_xp
|
|
|
|
SET "MSVC64_DIR=%PrgFiles32%\Microsoft Visual Studio\2017\%%I\VC\Tools\MSVC\14.16.27023"
|
|
SET MSVC64_VERSION=14.16
|
|
SET MSVC64_YEAR=2017
|
|
SET CMAKE64_GENERATOR=15 2017 Win64
|
|
SET CMAKE64_TOOLSET=v141
|
|
)
|
|
)
|
|
|
|
:: MSVC 2019: Use the 2017 (14.1x) compiler for 32-bit in order to maintain WinXP compatibilty.
|
|
FOR %%I IN (Community Professional Enterprise) DO (
|
|
IF EXIST "%PrgFiles32%\Microsoft Visual Studio\2019\%%I\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe" (
|
|
SET "MSVC32_DIR=%PrgFiles32%\Microsoft Visual Studio\2019\%%I\VC\Tools\MSVC\14.16.27023"
|
|
SET MSVC32_VERSION=14.16
|
|
SET MSVC32_YEAR=2019
|
|
SET CMAKE32_GENERATOR=16 2019
|
|
SET CMAKE32_TOOLSET=v141_xp
|
|
SET CMAKE32_ARCH=-A Win32
|
|
|
|
SET "MSVC64_DIR=%PrgFiles32%\Microsoft Visual Studio\2019\%%I\VC\Tools\MSVC\14.29.30133"
|
|
SET MSVC64_VERSION=14.29
|
|
SET MSVC64_YEAR=2019
|
|
SET CMAKE64_GENERATOR=16 2019
|
|
SET CMAKE64_TOOLSET=v142
|
|
SET CMAKE64_ARCH=-A x64
|
|
)
|
|
)
|
|
|
|
:: MSVC 2022: Use the 2017 (14.1x) compiler for 32-bit in order to maintain WinXP compatibilty.
|
|
:: NOTE: MSVC 2022 switched to 64-bit Program Files
|
|
FOR %%I IN (Community Professional Enterprise) DO (
|
|
IF EXIST "%PrgFiles64%\Microsoft Visual Studio\2022\%%I\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86\cl.exe" (
|
|
SET "MSVC32_DIR=%PrgFiles64%\Microsoft Visual Studio\2022\%%I\VC\Tools\MSVC\14.16.27023"
|
|
SET MSVC32_VERSION=14.16
|
|
SET MSVC32_YEAR=2022
|
|
SET CMAKE32_GENERATOR=17 2022
|
|
SET CMAKE32_TOOLSET=v141_xp
|
|
SET CMAKE32_ARCH=-A Win32
|
|
|
|
SET "MSVC64_DIR=%PrgFiles64%\Microsoft Visual Studio\2022\%%I\VC\Tools\MSVC\14.36.32532"
|
|
SET MSVC64_VERSION=14.36
|
|
SET MSVC64_YEAR=2022
|
|
SET CMAKE64_GENERATOR=17 2022
|
|
SET CMAKE64_TOOLSET=v143
|
|
SET CMAKE64_ARCH=-A x64
|
|
)
|
|
)
|
|
|
|
IF "%CMAKE64_GENERATOR%" == "" (
|
|
ECHO *** ERROR: Supported version of MSVC was not found.
|
|
ECHO Supported versions: 2022, 2019, 2017, 2015
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
ECHO Using the following MSVC versions for packaging:
|
|
ECHO - i386: MSVC %MSVC32_YEAR% (%MSVC32_VERSION%)
|
|
ECHO - amd64: MSVC %MSVC64_YEAR% (%MSVC64_VERSION%)
|
|
SET MSG_ARM=not building; requires MSVC 2019 or later
|
|
SET MSG_ARM64EC=not building; requires MSVC 2022 or later
|
|
IF "%MSVC64_YEAR%" == "2019" SET MSG_ARM=MSVC %MSVC64_YEAR% (%MSVC64_VERSION%)
|
|
IF "%MSVC64_YEAR%" == "2022" SET MSG_ARM=MSVC %MSVC64_YEAR% (%MSVC64_VERSION%)
|
|
IF "%MSVC64_YEAR%" == "2022" SET MSG_ARM64EC=MSVC %MSVC64_YEAR% (%MSVC64_VERSION%)
|
|
ECHO - arm: %MSG_ARM%
|
|
ECHO - arm64: %MSG_ARM%
|
|
ECHO - arm64ec: %MSG_ARM64EC%
|
|
ECHO.
|
|
|
|
:: MSVC 2017+ uses a different directory layout.
|
|
SET MSVC_CL=
|
|
FOR %%I IN (2017 2019 2022) DO (
|
|
IF "%MSVC64_YEAR%" == "%%I" (
|
|
SET "MSVC_CL=%MSVC32_DIR%\bin\HostX86\x86\cl.exe"
|
|
SET "MSVC_CL64_CROSS=%MSVC64_DIR%\bin\HostX86\x64\cl.exe"
|
|
SET "MSVC_CL64_NATIVE=%MSVC64_DIR%\bin\HostX64\x64\cl.exe"
|
|
)
|
|
)
|
|
IF "%MSVC_CL%" == "" (
|
|
SET "MSVC_CL=%MSVC32_DIR%\VC\bin\cl.exe"
|
|
SET "MSVC_CL64_CROSS=%MSVC64_DIR%\VC\bin\x86_amd64\cl.exe"
|
|
SET "MSVC_CL64_NATIVE=%MSVC64_DIR%\VC\bin\amd64\cl.exe"
|
|
)
|
|
|
|
:: Check for the 32-bit compiler.
|
|
IF NOT EXIST "%MSVC_CL%" (
|
|
ECHO *** ERROR: 32-bit cl.exe was not found.
|
|
ECHO Please reinstall MSVC.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
|
|
:: Check for the 64-bit compiler.
|
|
:: (either cross-compiler and native compiler)
|
|
IF NOT EXIST "%MSVC_CL64_CROSS%" (
|
|
IF NOT EXIST "%MSVC_CL64_NATIVE%" (
|
|
ECHO *** ERROR: 64-bit cl.exe was not found.
|
|
ECHO Please reinstall MSVC.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
)
|
|
|
|
:: Check for the Windows 7 SDK. (either v7.1A or v7.0A)
|
|
IF NOT EXIST "%PrgFiles32%\Microsoft SDKs\Windows\v7.1A\Include\Windows.h" (
|
|
IF NOT EXIST "%PrgFiles32%\Microsoft SDKs\Windows\v7.0A\Include\Windows.h" (
|
|
ECHO *** ERROR: Windows 7 SDK was not found.
|
|
ECHO Please install the Windows 7 SDK.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
)
|
|
|
|
:: Check for cmake.exe.
|
|
FOR %%X IN (cmake.exe) DO (SET FOUND=%%~$PATH:X)
|
|
IF NOT DEFINED FOUND (
|
|
ECHO *** ERROR: CMake was not found in PATH.
|
|
ECHO Please download CMake from https://cmake.org/download/
|
|
ECHO and make sure it's added to PATH.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
|
|
:: Check for zip.exe and unzip.exe.
|
|
SET FOUND=
|
|
FOR %%X IN (zip.exe) DO (SET FOUND=%%~$PATH:X)
|
|
IF NOT DEFINED FOUND (
|
|
ECHO *** ERROR: zip.exe was not found in PATH.
|
|
ECHO Please download Info-ZIP from http://www.info-zip.org/
|
|
ECHO and place zip.exe and unzip.exe in PATH.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
FOR %%X IN (unzip.exe) DO (SET FOUND=%%~$PATH:X)
|
|
IF NOT DEFINED FOUND (
|
|
ECHO *** ERROR: unzip.exe was not found in PATH.
|
|
ECHO Please download Info-ZIP from http://www.info-zip.org/
|
|
ECHO and place zip.exe and unzip.exe in PATH.
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
|
|
:: Clear ERRORLEVEL before doing anything else.
|
|
:: TODO: Show error messages.
|
|
CMD /C "EXIT /B 0"
|
|
|
|
:: Clear the packaging prefix.
|
|
ECHO Clearing the pkg_windows directory...
|
|
MKDIR pkg_windows 2>NUL
|
|
CHDIR pkg_windows
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
FOR /D %%A IN (*) DO (RMDIR /S /Q "%%A")
|
|
|
|
:: Compile the i386 version.
|
|
ECHO.
|
|
ECHO Compiling i386 (32-bit) rom-properties.dll...
|
|
MKDIR build.i386
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD build.i386
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake ..\.. -G "Visual Studio %CMAKE32_GENERATOR%" %CMAKE32_ARCH% ^
|
|
-DCMAKE_GENERATOR_TOOLSET=%CMAKE32_TOOLSET% ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DBUILD_TESTING=OFF ^
|
|
-DSPLIT_DEBUG=ON
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake --build . --config Release
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cpack -C Release
|
|
POPD
|
|
|
|
:: Compile the amd64 version.
|
|
ECHO.
|
|
ECHO Compiling amd64 (64-bit) rom-properties.dll...
|
|
MKDIR build.amd64
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD build.amd64
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake ..\.. -G "Visual Studio %CMAKE64_GENERATOR%" %CMAKE64_ARCH% ^
|
|
-DCMAKE_GENERATOR_TOOLSET=%CMAKE64_TOOLSET% ^
|
|
-DCMAKE_SYSTEM_VERSION=10.0 ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DBUILD_TESTING=OFF ^
|
|
-DSPLIT_DEBUG=ON
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake --build . --config Release
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cpack -C Release
|
|
POPD
|
|
|
|
:: If not MSVC 2019 or later, skip ARM.
|
|
IF "%MSVC64_YEAR%" == "2019" GOTO :buildARM
|
|
IF "%MSVC64_YEAR%" == "2022" GOTO :buildARM
|
|
ECHO *** WARNING: MSVC 2019 or later is required for ARM builds.
|
|
ECHO *** Skipping ARM builds.
|
|
GOTO :doPackage
|
|
|
|
:buildARM
|
|
:: FIXME: Need to build gettext for ARM, ARM64, and ARM64EC.
|
|
:: May need to use the MSVC port for ARM64EC.
|
|
:: For now, disabling NLS on the ARM builds.
|
|
|
|
:: NOTE: Since we're cross-compiling, the i386 build will be used
|
|
:: for amiiboc.exe.
|
|
:: FIXME: It's not accepting "../build.i386"; using %~dp0 instead.
|
|
|
|
:: Compile the arm version.
|
|
SET BUILD_arm=1
|
|
ECHO.
|
|
ECHO Compiling arm (32-bit) rom-properties.dll...
|
|
MKDIR build.arm
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD build.arm
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake ..\.. -G "Visual Studio %CMAKE64_GENERATOR%" -A arm ^
|
|
-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain/arm-msvc-%MSVC64_YEAR%-win10-1809.cmake ^
|
|
-DCMAKE_SYSTEM_VERSION=10.0 ^
|
|
-DIMPORT_EXECUTABLES=%~dp0..\pkg_windows\build.i386 ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DBUILD_TESTING=OFF ^
|
|
-DSPLIT_DEBUG=ON ^
|
|
-DENABLE_NLS=OFF
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake --build . --config Release
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cpack -C Release
|
|
POPD
|
|
|
|
:: Compile the arm64 version.
|
|
SET BUILD_arm64=1
|
|
ECHO.
|
|
ECHO Compiling arm64 (64-bit) rom-properties.dll...
|
|
MKDIR build.arm64
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD build.arm64
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake ..\.. -G "Visual Studio %CMAKE64_GENERATOR%" -A arm64 ^
|
|
-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain/arm64-msvc-%MSVC64_YEAR%-win10-1809.cmake ^
|
|
-DCMAKE_SYSTEM_VERSION=10.0 ^
|
|
-DIMPORT_EXECUTABLES=%~dp0..\pkg_windows\build.i386 ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DBUILD_TESTING=OFF ^
|
|
-DSPLIT_DEBUG=ON ^
|
|
-DENABLE_NLS=OFF
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake --build . --config Release
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cpack -C Release
|
|
POPD
|
|
|
|
IF "%MSVC64_YEAR%" == "2022" GOTO :buildARM64EC
|
|
ECHO *** WARNING: MSVC 2022 or later is required for ARM64EC builds.
|
|
ECHO *** Skipping ARM64EC builds.
|
|
GOTO :doPackage
|
|
|
|
:buildARM64EC
|
|
:: Compile the arm64ec version.
|
|
SET BUILD_arm64ec=1
|
|
ECHO.
|
|
ECHO Compiling arm64ec (64-bit Emulation Compatible) rom-properties.dll...
|
|
MKDIR build.arm64ec
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD build.arm64ec
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake ..\.. -G "Visual Studio %CMAKE64_GENERATOR%" -A arm64ec ^
|
|
-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain/arm64-msvc-%MSVC64_YEAR%-win10-1809.cmake ^
|
|
-DCMAKE_SYSTEM_VERSION=10.0 ^
|
|
-DIMPORT_EXECUTABLES=%~dp0..\pkg_windows\build.i386 ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DBUILD_TESTING=OFF ^
|
|
-DSPLIT_DEBUG=ON ^
|
|
-DENABLE_NLS=OFF
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cmake --build . --config Release
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
cpack -C Release
|
|
POPD
|
|
|
|
:doPackage
|
|
:: Merge the ZIP files.
|
|
ECHO.
|
|
ECHO Creating the distribution ZIP files...
|
|
MKDIR combined
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
PUSHD combined
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Get the basename of the 32-bit ZIP file.
|
|
FOR %%A IN (..\build.i386\*-win32.zip) do (set ZIP_PREFIX=%%~nxA)
|
|
SET ZIP_PREFIX=%ZIP_PREFIX:~0,-10%
|
|
IF "%ZIP_PREFIX%" == "" (
|
|
ECHO *** ERROR: The 32-bit ZIP file was not found.
|
|
ECHO Something failed in the initial packaging process...
|
|
PAUSE
|
|
EXIT /B 1
|
|
)
|
|
|
|
:: Extract the i386 ZIP file.
|
|
unzip ..\build.i386\*-win32.zip -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Move the 32-bit EXEs to the base directory,
|
|
:: except for rp-download.exe.
|
|
:: NOTE: Not moving the PDBs to the base directory,
|
|
:: since those are stored in a separate ZIP file.
|
|
:: NOTE 2: svrplus.exe is renamed to install.exe to make it
|
|
:: more obvious that it's the installer.
|
|
MOVE i386\rpcli.exe .
|
|
MOVE i386\rp-config.exe .
|
|
MOVE i386\svrplus.exe install.exe
|
|
|
|
:: Extract the amd64 ZIP file.
|
|
:: (Only the architecture-specific directory.)
|
|
unzip ..\build.amd64\*-win64.zip amd64/* -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Remove the amd64 EXEs, except for rp-download.exe.
|
|
:: These aren't necessary. If someone really wants an
|
|
:: amd64 Windows build, they can build it themselves.
|
|
DEL amd64\rpcli.exe
|
|
DEL amd64\rp-config.exe
|
|
DEL amd64\svrplus.exe
|
|
|
|
IF NOT "%BUILD_arm%" == "1" GOTO :doCombine
|
|
:: Extract the arm ZIP file.
|
|
:: (Only the architecture-specific directory.)
|
|
unzip ..\build.arm\*-win32.zip arm/* -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Remove the arm EXEs, except for rp-download.exe.
|
|
:: These aren't necessary. If someone really wants an
|
|
:: arm Windows build, they can build it themselves.
|
|
DEL arm\rpcli.exe
|
|
DEL arm\rp-config.exe
|
|
DEL arm\svrplus.exe
|
|
|
|
IF NOT "%BUILD_arm64%" == "1" GOTO :doCombine
|
|
:: Extract the arm64 ZIP file.
|
|
:: (Only the architecture-specific directory.)
|
|
unzip ..\build.arm64\*-win64.zip arm64/* -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Remove the arm64 EXEs, except for rp-download.exe.
|
|
:: These aren't necessary. If someone really wants an
|
|
:: arm Windows build, they can build it themselves.
|
|
DEL arm64\rpcli.exe
|
|
DEL arm64\rp-config.exe
|
|
DEL arm64\svrplus.exe
|
|
|
|
IF NOT "%BUILD_arm64ec%" == "1" GOTO :doCombine
|
|
:: Extract the arm64ec ZIP file.
|
|
:: (Only the architecture-specific directory.)
|
|
unzip ..\build.arm64ec\*-win64.zip arm64ec/* -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Remove the arm64ec EXEs, except for rp-download.exe.
|
|
:: These aren't necessary. If someone really wants an
|
|
:: arm Windows build, they can build it themselves.
|
|
:: NOTE: arm64ec rp-download.exe can *probably* be replaced
|
|
:: with arm64, but we'll keep it for consistency.
|
|
DEL arm64ec\rpcli.exe
|
|
DEL arm64ec\rp-config.exe
|
|
DEL arm64ec\svrplus.exe
|
|
|
|
:doCombine
|
|
:: Compress the debug files.
|
|
DEL /Q "..\..\%ZIP_PREFIX%-windows.debug.zip" >NUL 2>&1
|
|
zip "..\..\%ZIP_PREFIX%-windows.debug.zip" */*.pdb
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Compress everything else.
|
|
DEL /q "..\..\%ZIP_PREFIX%-windows.zip" >NUL 2>&1
|
|
zip -r "..\..\%ZIP_PREFIX%-windows.zip" * -x *.pdb -x *cmake_mode_t*
|
|
@IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
|
|
|
|
:: Package merged.
|
|
ECHO.
|
|
ECHO *** Windows packages created. ***
|
|
ECHO.
|
|
ECHO The following files have been created in the top-level
|
|
ECHO source directory:
|
|
ECHO - %ZIP_PREFIX%-windows.zip: Standard distribution.
|
|
ECHO - %ZIP_PREFIX%-windows.debug.zip: PDB files.
|
|
ECHO.
|
|
PAUSE
|
|
EXIT /B 0
|