Skip to content

Commit

Permalink
Simplified Windows InnoSetup for 64-bit only builds.
Browse files Browse the repository at this point in the history
  • Loading branch information
sa666666 committed May 8, 2024
1 parent 63bc095 commit 6de7ae9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 98 deletions.
112 changes: 17 additions & 95 deletions src/os/windows/Create_Builds.bat
Original file line number Diff line number Diff line change
@@ -1,75 +1,27 @@
@echo off & setlocal enableextensions

echo Stella build script for creating win32 and x64 builds.
echo This will create installers (based on InnoSetup) for both 32 and 64-bit,
echo as well as a ZIP archive containing both versions.
echo This will create an InnoSetup installer for 64-bit Stella.
echo.
echo ! InnoSetup must be linked to this directory as 'iscc.lnk' (for EXE files)
echo ! 'zip.exe' must be installed in this directory (for ZIP files)
echo ! 'flip.exe' must be be installed in this directory (for readable TXT files)
echo ! InnoSetup must be linked to this directory as 'iscc.lnk'
echo.
echo !!! Make sure the code has already been compiled in Visual Studio
echo !!! before launching this command.
echo.

:: Make sure all tools are available
set HAVE_ISCC=1
set HAVE_ZIP=1
set HAVE_FLIP=1
:: Make sure InnoSetup is available
if not exist "iscc.lnk" (
echo InnoSetup 'iscc.lnk' not found - EXE files will not be created
set HAVE_ISCC=0
)
if not exist "zip.exe" (
echo ZIP command not found - ZIP files will not be created
set HAVE_ZIP=0
)
if %HAVE_ISCC% == 0 (
if %HAVE_ZIP% == 0 (
echo Both EXE and ZIP files cannot be created, exiting
goto done
)
)
if not exist "flip.exe" (
echo FLIP command not found - TXT files will be unreadable in Notepad
set HAVE_FLIP=0
echo InnoSetup 'iscc.lnk' not found
goto done
)

set RELEASE_32=Win32\Release
set RELEASE_64=x64\Release
set RELEASE=x64\Release

echo.
set /p STELLA_VER=Enter Stella version:
echo.
set /p TO_BUILD=Version to build (32/64/a=all):

set BUILD_32=0
set BUILD_64=0
if %TO_BUILD% == 32 (
set BUILD_32=1
)

if %TO_BUILD% == 64 (
set BUILD_64=1
)

if %TO_BUILD% == a (
set BUILD_32=1
set BUILD_64=1
)

if %BUILD_32% == 1 (
if not exist %RELEASE_32% (
echo The 32-bit build was not found in the '%RELEASE_32%' directory
goto done
)
)

if %BUILD_64% == 1 (
if not exist %RELEASE_64% (
echo The 64-bit build was not found in the '%RELEASE_64%' directory
goto done
)
if not exist %RELEASE% (
echo The executable was not found in the '%RELEASE%' directory
goto done
)

:: Create ZIP folder first
Expand All @@ -80,64 +32,34 @@ if exist %STELLA_DIR% (
)
echo Creating %STELLA_DIR% ...
mkdir %STELLA_DIR%
mkdir %STELLA_DIR%\32-bit
mkdir %STELLA_DIR%\64-bit
mkdir %STELLA_DIR%\docs

if %BUILD_32% == 1 (
echo Copying 32-bit files ...
copy %RELEASE_32%\Stella.exe %STELLA_DIR%\32-bit
copy %RELEASE_32%\*.dll %STELLA_DIR%\32-bit
)

if %BUILD_64% == 1 (
echo Copying 64-bit files ...
copy %RELEASE_64%\Stella.exe %STELLA_DIR%\64-bit
copy %RELEASE_64%\*.dll %STELLA_DIR%\64-bit
)
echo Copying executable files ...
copy %RELEASE%\Stella.exe %STELLA_DIR%
copy %RELEASE%\*.dll %STELLA_DIR%

echo Copying DOC files ...
xcopy ..\..\..\docs\* %STELLA_DIR%\docs /s /q
copy ..\..\..\Announce.txt %STELLA_DIR%\docs
copy ..\..\..\Changes.txt %STELLA_DIR%\docs
copy ..\..\..\Copyright.txt %STELLA_DIR%\docs
copy ..\..\..\License.txt %STELLA_DIR%\docs
copy ..\..\..\Readme.md %STELLA_DIR%\docs
copy ..\..\..\Readme.md %STELLA_DIR%\docs
copy ..\..\..\README-SDL.txt %STELLA_DIR%\docs
copy ..\..\..\Todo.txt %STELLA_DIR%\docs
if %HAVE_FLIP% == 1 (
for %%a in (%STELLA_DIR%\docs\*.txt) do (
flip -d "%%a"
)
)

:: Create output directory for release files
if not exist Output (
echo Creating output directory ...
mkdir Output
)


:: Actually create the ZIP file
if %HAVE_ZIP% == 1 (
echo Creating ZIP file ...
zip -q -r Output\%STELLA_DIR%-windows.zip %STELLA_DIR%
)

:: Now create the Inno EXE files
if %HAVE_ISCC% == 1 (
if %BUILD_32% == 1 (
echo Creating 32-bit EXE ...
iscc.lnk "%CD%\stella.iss" /q "/dSTELLA_VER=%STELLA_VER%" "/dSTELLA_ARCH=win32" "/dSTELLA_PATH=%STELLA_DIR%\32-bit" "/dSTELLA_DOCPATH=%STELLA_DIR%\docs"
)
if %BUILD_64% == 1 (
echo Creating 64-bit EXE ...
iscc.lnk "%CD%\stella.iss" /q "/dSTELLA_VER=%STELLA_VER%" "/dSTELLA_ARCH=x64" "/dSTELLA_PATH=%STELLA_DIR%\64-bit" "/dSTELLA_DOCPATH=%STELLA_DIR%\docs"
)
)
:: Create the Inno EXE files
echo Creating InnoSetup EXE ...
iscc.lnk "%CD%\stella.iss" /q "/dSTELLA_VER=%STELLA_VER%" "/dSTELLA_PATH=%STELLA_DIR%" "/dSTELLA_DOCPATH=%STELLA_DIR%\docs"

:: Cleanup time
echo Cleaning up files, ...
echo Cleaning up files ...
rmdir %STELLA_DIR% /s /q

:done
Expand Down
4 changes: 1 addition & 3 deletions src/os/windows/stella.iss
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@ AppSupportURL=https://stella-emu.github.io
AppUpdatesURL=https://stella-emu.github.io
DefaultDirName={pf}\Stella
DefaultGroupName=Stella
OutputBaseFilename="Stella-{#STELLA_VER}-{#STELLA_ARCH}"
OutputBaseFilename="Stella-{#STELLA_VER}-x64"
Compression=lzma
SolidCompression=yes
UninstallDisplayIcon={app}\Stella.exe
#if STELLA_ARCH == "x64"
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
#endif

[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
Expand Down

0 comments on commit 6de7ae9

Please sign in to comment.