Tree vendored at upstream 0019c5dd; origin + license recorded in raptor/VENDOR.txt. Windows SDL dev packages excluded via .gitignore.
352 lines
11 KiB
Batchfile
352 lines
11 KiB
Batchfile
@echo off
|
|
cd /D "%~dp0"
|
|
cls
|
|
echo *********************************************************************
|
|
echo * *
|
|
echo * Raptor build script for Windows *
|
|
echo * *
|
|
echo *********************************************************************
|
|
echo.
|
|
echo Select build:
|
|
echo.
|
|
echo 1. Release build win32
|
|
echo 2. Release build win64
|
|
echo 3. Clean all
|
|
echo 0. Exit
|
|
echo.
|
|
|
|
set /P select=Select 0-3:
|
|
|
|
if /i "%select%"== "1" goto:win32
|
|
if /i "%select%"== "2" goto:win64
|
|
if /i "%select%"== "3" goto:clean
|
|
if /i "%select%"== "0" goto:eof
|
|
echo Incorrect entry
|
|
goto:eof
|
|
|
|
:win32:
|
|
set arch="Release|x86"
|
|
set archname=win32
|
|
set buildfoldername=raptorx86
|
|
set msvcfolder=msvc\Release
|
|
set sdlfolder=include\SDL2-devel-2.28.2-VC\SDL2-2.28.2\lib\x86\SDL2.dll
|
|
goto:buildres
|
|
|
|
:win64:
|
|
set arch="Release|x64"
|
|
set archname=win64
|
|
set buildfoldername=raptorx64
|
|
set msvcfolder=msvc\x64\Release
|
|
set sdlfolder=include\SDL2-devel-2.28.2-VC\SDL2-2.28.2\lib\x64\SDL2.dll
|
|
goto:buildres
|
|
|
|
:buildres
|
|
set digitpos0=false
|
|
set digitpos2=false
|
|
set digitpos4=false
|
|
set version=empty
|
|
echo Enter version number in this format 0.0.0
|
|
set /P version=Enter version number:
|
|
if %version% == "empty" goto:buildres
|
|
if "%version:~0,-4%" geq "0" if "%version:~0,-4%" leq "9" set digitpos0=true
|
|
if "%version:~2,-2%" geq "0" if "%version:~2,-2%" leq "9" set digitpos2=true
|
|
if "%version:~4%" geq "0" if "%version:~4%" leq "9" set digitpos4=true
|
|
if not "%digitpos0%" == "true" (
|
|
echo Incorrect entry
|
|
goto:buildres
|
|
)
|
|
if not "%digitpos2%" == "true" (
|
|
echo Incorrect entry
|
|
goto:buildres
|
|
)
|
|
if not "%digitpos4%" == "true" (
|
|
echo Incorrect entry
|
|
goto:buildres
|
|
)
|
|
if not "%version:~1,-3%" == "." (
|
|
echo Incorrect entry
|
|
goto:buildres
|
|
)
|
|
if not "%version:~3,-1%" == "." (
|
|
echo Incorrect entry
|
|
goto:buildres
|
|
)
|
|
(
|
|
echo #define APSTUDIO_READONLY_SYMBOLS
|
|
echo #include "winres.h"
|
|
echo #undef APSTUDIO_READONLY_SYMBOLS
|
|
echo.
|
|
echo MAINICON ICON "raptor.ico"
|
|
echo.
|
|
echo VS_VERSION_INFO VERSIONINFO
|
|
echo FILEVERSION %version:~0,-4%,%version:~2,-2%,%version:~4%,0
|
|
echo PRODUCTVERSION %version:~0,-4%,%version:~2,-2%,%version:~4%,0
|
|
echo FILEFLAGSMASK 0x3FL
|
|
echo FILEFLAGS 0x0L
|
|
echo FILEOS 0x4L
|
|
echo FILETYPE 0x1L
|
|
echo FILESUBTYPE 0x0L
|
|
echo BEGIN
|
|
echo BLOCK "StringFileInfo"
|
|
echo BEGIN
|
|
echo BLOCK "040904E4"
|
|
echo BEGIN
|
|
echo VALUE "CompanyName", "skynettx"
|
|
echo VALUE "FileDescription", "Raptor %version%"
|
|
echo VALUE "FileVersion", "%version%"
|
|
echo VALUE "InternalName", "raptor"
|
|
echo VALUE "LegalCopyright", "Copyright (C) 1994-%date:~-4%. Licensed under the GNU General Public License, version 2"
|
|
echo VALUE "OriginalFilename", "raptor"
|
|
echo VALUE "ProductName", "Raptor"
|
|
echo VALUE "ProductVersion", "%version%"
|
|
echo END
|
|
echo END
|
|
echo BLOCK "VarFileInfo"
|
|
echo BEGIN
|
|
echo VALUE "Translation", 0x409, 1252
|
|
echo END
|
|
echo END
|
|
) > rsrc\resource.rc
|
|
(
|
|
echo #define APSTUDIO_READONLY_SYMBOLS
|
|
echo #include "winres.h"
|
|
echo #undef APSTUDIO_READONLY_SYMBOLS
|
|
echo.
|
|
echo MAINICON ICON "raptorsetup.ico"
|
|
echo.
|
|
echo VS_VERSION_INFO VERSIONINFO
|
|
echo FILEVERSION %version:~0,-4%,%version:~2,-2%,%version:~4%,0
|
|
echo PRODUCTVERSION %version:~0,-4%,%version:~2,-2%,%version:~4%,0
|
|
echo FILEFLAGSMASK 0x3FL
|
|
echo FILEFLAGS 0x0L
|
|
echo FILEOS 0x4L
|
|
echo FILETYPE 0x1L
|
|
echo FILESUBTYPE 0x0L
|
|
echo BEGIN
|
|
echo BLOCK "StringFileInfo"
|
|
echo BEGIN
|
|
echo BLOCK "040904E4"
|
|
echo BEGIN
|
|
echo VALUE "CompanyName", "skynettx"
|
|
echo VALUE "FileDescription", "Raptor %version% Setup"
|
|
echo VALUE "FileVersion", "%version%"
|
|
echo VALUE "InternalName", "raptorsetup"
|
|
echo VALUE "LegalCopyright", "GNU General Public License"
|
|
echo VALUE "OriginalFilename", "raptorsetup"
|
|
echo VALUE "ProductName", "Raptor Setup"
|
|
echo VALUE "ProductVersion", "%version%"
|
|
echo END
|
|
echo END
|
|
echo BLOCK "VarFileInfo"
|
|
echo BEGIN
|
|
echo VALUE "Translation", 0x409, 1252
|
|
echo END
|
|
echo END
|
|
) > rsrc\setup\resource.rc
|
|
|
|
:build
|
|
devenv msvc\raptor.sln /Build %arch%
|
|
goto:buildfolder
|
|
|
|
:buildfolder
|
|
@RD /S /Q pkg\win32\%buildfoldername%
|
|
mkdir pkg\win32\%buildfoldername%
|
|
xcopy %msvcfolder%\raptor.exe pkg\win32\%buildfoldername%
|
|
xcopy %msvcfolder%\raptorsetup\raptorsetup.exe pkg\win32\%buildfoldername%
|
|
xcopy include\TinySoundFont\LICENSE pkg\win32\%buildfoldername%
|
|
ren pkg\win32\%buildfoldername%\LICENSE LICENSETSF
|
|
xcopy LICENSE pkg\win32\%buildfoldername%
|
|
xcopy %sdlfolder% pkg\win32\%buildfoldername%
|
|
|
|
if exist pkg\win32\%buildfoldername%\raptor.exe (
|
|
echo raptor.exe PASS
|
|
) else (
|
|
echo raptor.exe FAILED
|
|
goto:eof
|
|
)
|
|
if exist pkg\win32\%buildfoldername%\raptorsetup.exe (
|
|
echo raptorsetup.exe PASS
|
|
) else (
|
|
echo raptorsetup.exe FAILED
|
|
goto:eof
|
|
)
|
|
if exist pkg\win32\%buildfoldername%\LICENSETSF (
|
|
echo LICENSETSF PASS
|
|
) else (
|
|
echo LICENSETSF FAILED
|
|
goto:eof
|
|
)
|
|
if exist pkg\win32\%buildfoldername%\LICENSE (
|
|
echo LICENSE PASS
|
|
) else (
|
|
echo LICENSE FAILED
|
|
goto:eof
|
|
)
|
|
if exist pkg\win32\%buildfoldername%\SDL2.dll (
|
|
echo SDL2.dll PASS
|
|
) else (
|
|
echo SDL2.dll FAILED
|
|
goto:eof
|
|
)
|
|
goto:getinfo
|
|
|
|
:getinfo
|
|
set assetsflag=false
|
|
set /P assets=Bundle assets y/n:
|
|
if "%assets%" == "y" (
|
|
set assetsflag=true
|
|
)
|
|
if "%assets%" == "Y" (
|
|
set assetsflag=true
|
|
)
|
|
if "%assets%" == "yes" (
|
|
set assetsflag=true
|
|
)
|
|
if "%assets%" == "YES" (
|
|
set assetsflag=true
|
|
)
|
|
if "%assetsflag%" == "true" (
|
|
goto:getassets
|
|
) else (
|
|
echo Continue without bundle assets
|
|
goto:buildnsis
|
|
)
|
|
|
|
:getassets
|
|
set /P "assetspath=Path to assets folder: "
|
|
xcopy "%assetspath%\*.GLB" pkg\win32\%buildfoldername%
|
|
|
|
:buildnsis
|
|
(
|
|
echo ; Script generated by the HM NIS Edit Script Wizard.
|
|
echo.
|
|
echo ; HM NIS Edit Wizard helper defines
|
|
echo !define PRODUCT_NAME "Raptor"
|
|
echo !define PRODUCT_VERSION "%version%"
|
|
echo !define PRODUCT_PUBLISHER "skynettx"
|
|
echo !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\raptor.exe"
|
|
echo !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
|
echo !define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
|
echo.
|
|
echo ; MUI 1.67 compatible ------
|
|
echo !include "MUI.nsh"
|
|
echo.
|
|
echo ; MUI Settings
|
|
echo !define MUI_ABORTWARNING
|
|
echo !define MUI_ICON "..\..\rsrc\raptor.ico"
|
|
echo !define MUI_UNICON "..\..\rsrc\raptor.ico"
|
|
echo.
|
|
echo ; Welcome page
|
|
echo !insertmacro MUI_PAGE_WELCOME
|
|
echo ; Directory page
|
|
echo !insertmacro MUI_PAGE_DIRECTORY
|
|
echo ; Instfiles page
|
|
echo !insertmacro MUI_PAGE_INSTFILES
|
|
echo ; Finish page
|
|
echo !define MUI_FINISHPAGE_RUN "$INSTDIR\raptor.exe"
|
|
echo !insertmacro MUI_PAGE_FINISH
|
|
echo.
|
|
echo ; Uninstaller pages
|
|
echo !insertmacro MUI_UNPAGE_INSTFILES
|
|
echo.
|
|
echo ; Language files
|
|
echo !insertmacro MUI_LANGUAGE "English"
|
|
echo.
|
|
echo ; MUI end ------
|
|
echo.
|
|
echo Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
|
echo OutFile "raptor-%version%-%archname%.exe"
|
|
if "%archname%" == "win32" (
|
|
echo InstallDir "$PROGRAMFILES\Raptor"
|
|
) else (
|
|
echo InstallDir "$PROGRAMFILES64\Raptor"
|
|
)
|
|
echo InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
|
echo ShowInstDetails show
|
|
echo ShowUnInstDetails show
|
|
echo.
|
|
echo Section "Hauptgruppe" SEC01
|
|
echo SetOutPath "$INSTDIR"
|
|
echo SetOverwrite try
|
|
if "%assetsflag%" == "true" (
|
|
echo File "%buildfoldername%\FILE0000.GLB"
|
|
echo File "%buildfoldername%\FILE0001.GLB"
|
|
)
|
|
echo File "%buildfoldername%\LICENSE"
|
|
echo File "%buildfoldername%\LICENSETSF"
|
|
echo File "%buildfoldername%\raptor.exe"
|
|
echo CreateDirectory "$SMPROGRAMS\Raptor"
|
|
echo CreateShortCut "$SMPROGRAMS\Raptor\Raptor.lnk" "$INSTDIR\raptor.exe"
|
|
echo CreateShortCut "$DESKTOP\Raptor.lnk" "$INSTDIR\raptor.exe"
|
|
echo File "%buildfoldername%\raptorsetup.exe"
|
|
echo CreateShortCut "$SMPROGRAMS\Raptor\Raptor Setup.lnk" "$INSTDIR\raptorsetup.exe"
|
|
echo CreateShortCut "$DESKTOP\Raptor Setup.lnk" "$INSTDIR\raptorsetup.exe"
|
|
echo File "%buildfoldername%\SDL2.dll"
|
|
echo SectionEnd
|
|
echo.
|
|
echo Section -AdditionalIcons
|
|
echo CreateShortCut "$SMPROGRAMS\Raptor\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
|
echo SectionEnd
|
|
echo.
|
|
echo Section -Post
|
|
echo WriteUninstaller "$INSTDIR\uninst.exe"
|
|
echo WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\raptor.exe"
|
|
echo WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
|
echo WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
|
echo WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\raptor.exe"
|
|
echo WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
|
echo WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
|
echo SectionEnd
|
|
echo.
|
|
echo.
|
|
echo Function un.onUninstSuccess
|
|
echo HideWindow
|
|
echo MessageBox MB_ICONINFORMATION^|MB_OK "Raptor was successfully uninstalled."
|
|
echo FunctionEnd
|
|
echo.
|
|
echo Function un.onInit
|
|
echo MessageBox MB_ICONQUESTION^|MB_YESNO^|MB_DEFBUTTON2 "Do you want to uninstall Raptor and all its components?" IDYES +2
|
|
echo Abort
|
|
echo FunctionEnd
|
|
echo.
|
|
echo Section Uninstall
|
|
echo Delete "$INSTDIR\uninst.exe"
|
|
echo Delete "$INSTDIR\SDL2.dll"
|
|
echo Delete "$INSTDIR\raptorsetup.exe"
|
|
echo Delete "$INSTDIR\raptor.exe"
|
|
echo Delete "$INSTDIR\LICENSETSF"
|
|
echo Delete "$INSTDIR\LICENSE"
|
|
if "%assetsflag%" == "true" (
|
|
echo Delete "$INSTDIR\FILE0001.GLB"
|
|
echo Delete "$INSTDIR\FILE0000.GLB"
|
|
)
|
|
echo.
|
|
echo Delete "$SMPROGRAMS\Raptor\Uninstall.lnk"
|
|
echo Delete "$DESKTOP\Raptor Setup.lnk"
|
|
echo Delete "$SMPROGRAMS\Raptor\Raptor Setup.lnk"
|
|
echo Delete "$DESKTOP\Raptor.lnk"
|
|
echo Delete "$SMPROGRAMS\Raptor\Raptor.lnk"
|
|
echo.
|
|
echo RMDir "$SMPROGRAMS\Raptor"
|
|
echo RMDir "$INSTDIR"
|
|
echo.
|
|
echo DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
|
echo DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
|
echo SetAutoClose true
|
|
echo SectionEnd
|
|
) > pkg\win32\build.nsi
|
|
makensis.exe pkg\win32\build.nsi
|
|
xcopy pkg\win32\raptor-%version%-%archname%.exe %cd%
|
|
del pkg\win32\raptor-%version%-%archname%.exe
|
|
goto:eof
|
|
|
|
:clean:
|
|
@RD /S /Q msvc\.vs
|
|
@RD /S /Q msvc\Release
|
|
@RD /S /Q msvc\x64
|
|
@RD /S /Q pkg\win32
|
|
del *.exe
|
|
echo All cleaned
|
|
goto:eof
|
|
|
|
:eof |