diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/msi/README.md | 22 | ||||
-rw-r--r-- | src/msi/sok.wxs | 166 |
2 files changed, 188 insertions, 0 deletions
diff --git a/src/msi/README.md b/src/msi/README.md new file mode 100644 index 0000000..7d420f5 --- /dev/null +++ b/src/msi/README.md @@ -0,0 +1,22 @@ +Generate MSI installer for Windows. + +Setup: + + apt-get install wixl + +Build (using sok.msi build target): + + ninja sok.msi + +Dependencies: + +* `SDL2-devel` (from libsdl.org) +* `SDL2_ttf-devel` (from libsdl.org) + +Example (generate by hand): + + # generate sok.msi + wixl -o sok.msi \ + -D BUILD_DIR=../../build-w64 \ + -D SDL_LIB_DIR=/usr/local/x86_64-w64-mingw32/bin \ + sok.wxs diff --git a/src/msi/sok.wxs b/src/msi/sok.wxs new file mode 100644 index 0000000..2a15cfa --- /dev/null +++ b/src/msi/sok.wxs @@ -0,0 +1,166 @@ +<?xml version='1.0' encoding='utf-8'?> +<!-- +To build: + wixl -o sok.msi \ + -D BUILD_DIR=../../build-w64 \ + -D SDL_LIB_DIR=/usr/local/x86_64-w64-mingw32/bin \ + sok.wxs + +GUIDs (wget -qO- https://www.uuidgenerator.net/api/guid/10): +# 3626b379-ca7b-4fae-990e-b00cdeb0f2d7 +# dd702ed3-2b65-4d05-bc99-205aafbb8c37 +# ca5c1c3c-4bb5-4123-b8ff-e1228e3457eb +# be925023-1bc1-4e05-a5bf-64b831106651 +# 29d288a3-09f7-408b-8412-8d0e6176a235 +# 8089e94a-61f3-402e-b1b4-6b7346dc96e9 +# 1e8a655d-7370-410c-95f2-2e42c41d9031 +# 67058335-6a4e-4cf0-bc34-c8cc2e2e2578 +# e9383c16-e1cb-432a-b8db-d799c8225c85 +# 58de5bfd-4962-4fbc-a2e7-01da77bd050b + +--> +<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> + <Product + Name='Sokoban' + Id='3626b379-ca7b-4fae-990e-b00cdeb0f2d7' + UpgradeCode='dd702ed3-2b65-4d05-bc99-205aafbb8c37' + Language='1033' + Codepage='1252' + Version='1.0' + Manufacturer='Pablotron' + > + <Package + Id='*' + Keywords='Installer' + Description="Pablotron Sokoban installer." + Comments='Pablotron sokoban.' + Manufacturer='Pablotron' + InstallerVersion='100' + Languages='1033' + Compressed='yes' + SummaryCodepage='1252' + /> + + <Media + Id='1' + Cabinet='sok.cab' + EmbedCab='yes' + DiskPrompt="CD-ROM #1" + /> + + <Property + Id='DiskPrompt' + Value="Pablotron Sokoban 1.0 Installation [1]" + /> + + <Directory Id='TARGETDIR' Name='SourceDir'> + <Directory Id='ProgramFilesFolder' Name='PFiles'> + <Directory Id='Pablotron' Name='Pablotron'> + <Directory Id='INSTALLDIR' Name='Sokoban 1.0'> + + <Component + Id='cmp-sok-exe' + Guid='ca5c1c3c-4bb5-4123-b8ff-e1228e3457eb' + > + <File + Id='file-sok-exe' + Name='sok.exe' + DiskId='1' + Source='$(var.BUILD_DIR)/sok.exe' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-solve-exe' + Guid='be925023-1bc1-4e05-a5bf-64b831106651' + > + <File + Id='file-solve-exe' + Name='solve.exe' + DiskId='1' + Source='$(var.BUILD_DIR)/solve.exe' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-text-exe' + Guid='29d288a3-09f7-408b-8412-8d0e6176a235' + > + <File + Id='file-text-exe' + Name='text.exe' + DiskId='1' + Source='$(var.BUILD_DIR)/text.exe' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-libfreetype-dll' + Guid='8089e94a-61f3-402e-b1b4-6b7346dc96e9' + > + <File + Id='file-libfreetype-6-dll' + Name='libfreetype-6.dll' + DiskId='1' + Source='$(var.SDL_LIB_DIR)/libfreetype-6.dll' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-sdl2-ttf-dll' + Guid='1e8a655d-7370-410c-95f2-2e42c41d9031' + > + <File + Id='file-sdl2-ttf-dll' + Name='SDL2_ttf.dll' + DiskId='1' + Source='$(var.SDL_LIB_DIR)/SDL2_ttf.dll' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-sdl2-dll' + Guid='67058335-6a4e-4cf0-bc34-c8cc2e2e2578' + > + <File + Id='file-sdl2-dll' + Name='SDL2.dll' + DiskId='1' + Source='$(var.SDL_LIB_DIR)/SDL2.dll' + KeyPath='yes' + /> + </Component> + + <Component + Id='cmp-zlib1-dll' + Guid='e9383c16-e1cb-432a-b8db-d799c8225c85' + > + <File + Id='file-zlib1-dll' + Name='zlib1.dll' + DiskId='1' + Source='$(var.SDL_LIB_DIR)/zlib1.dll' + KeyPath='yes' + /> + </Component> + </Directory> + </Directory> + </Directory> + </Directory> + + <Feature Id='Complete' Level='1'> + <ComponentRef Id='cmp-sok-exe'/> + <ComponentRef Id='cmp-solve-exe'/> + <ComponentRef Id='cmp-text-exe'/> + <ComponentRef Id='cmp-libfreetype-dll'/> + <ComponentRef Id='cmp-sdl2-ttf-dll'/> + <ComponentRef Id='cmp-sdl2-dll'/> + <ComponentRef Id='cmp-zlib1-dll'/> + </Feature> + </Product> +</Wix> |