-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
62 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
FROM debian:latest | ||
|
||
# Gather dependencies | ||
RUN dpkg --add-architecture i386 | ||
RUN apt-get update -y | ||
RUN apt-get install git wine wine64 wine32 wget unzip -y | ||
|
||
# Silence debug warnings in wine (creates noise during compile) | ||
RUN export WINEDEBUG=-all | ||
|
||
# Set up the wineprefix | ||
RUN wine wineboot | ||
|
||
# Set up MSVC 4.20 and CMake for Windows | ||
RUN git clone https://github.com/itsmattkc/MSVC420 ~/.wine/drive_c/msvc | ||
RUN wget https://github.com/Kitware/CMake/releases/download/v3.26.6/cmake-3.26.6-windows-i386.zip | ||
RUN unzip cmake-3.26.6-windows-i386.zip -d ~/.wine/drive_c | ||
RUN mv ~/.wine/drive_c/cmake-3.26.6-windows-i386 ~/.wine/drive_c/cmake | ||
RUN rm cmake-3.26.6-windows-i386.zip | ||
|
||
# Set up entrypoint script to perform the build | ||
COPY entrypoint.sh entrypoint.sh | ||
RUN chmod +x entrypoint.sh | ||
ENTRYPOINT [ "./entrypoint.sh" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Populate the Windows path inside of the wineprefix | ||
# TODO: This is in here because writing to the registry seems | ||
# to fail when performed in the Dockerfile itself; investigate | ||
wine reg ADD 'HKCU\Environment' /v PATH /d 'C:\msvc\bin;C:\msvc\bin\winnt;C:\cmake\bin;C:\windows\system32' /f | ||
wine reg ADD 'HKCU\Environment' /v INCLUDE /d 'C:\msvc\include;C:\msvc\mfc\include' /f | ||
wine reg ADD 'HKCU\Environment' /v LIB /d 'C:\msvc\lib;C:\msvc\mfc\lib' /f | ||
wine reg ADD 'HKCU\Environment' /v TMP /d 'Z:\build' /f | ||
wine reg ADD 'HKCU\Environment' /v TEMP /d 'Z:\build' /f | ||
|
||
# Configure build with CMake | ||
wine cmake -B build isle -G "NMake Makefiles" $CMAKE_FLAGS | ||
|
||
# Start compiling LEGO Island | ||
wine cmake --build build | ||
|
||
# Unlock directories | ||
chmod -R 777 isle build |