|
1 |
| -@echo off |
| 1 | +curl -O https://zlib.net/zlib1211.zip |
| 2 | +unzip zlib1211.zip |
| 3 | +cp -r zlib-1.2.11 atari_py/ale_interface/src/zlib |
| 4 | +cd atari_py/ale_interface/src/zlib |
| 5 | +cmake -DCMAKE_GENERATOR_PLATFORM=x64 . |
| 6 | +cmake --build . |
2 | 7 |
|
3 |
| -:: Configuration |
4 |
| -set VERSION=1.2.11 |
5 |
| -set FILE=zlib-%VERSION%.zip |
6 |
| -set DIR=zlib-%VERSION% |
7 |
| -set URL=https://zlib.net/zlib%VERSION:.=%.zip |
| 8 | +cd ../.. |
| 9 | +mkdir -p build |
| 10 | +cp src/zlib/Debug/zlibstaticd.lib build/z.lib |
8 | 11 |
|
9 |
| -echo [0/6] Library(zlib==%VERSION%) |
10 | 12 |
|
11 |
| -:: Ancient Windows don't support TLS 1.1 and 1.2, so we fall back to insecure download. |
12 |
| -set Version= |
13 |
| -for /f "skip=1" %%v in ('wmic os get version') do if not defined Version set Version=%%v |
14 |
| -for /f "delims=. tokens=1-3" %%a in ("%Version%") do ( |
15 |
| - set Version.Major=%%a |
16 |
| - set Version.Minor=%%b |
17 |
| - set Version.Build=%%c |
18 |
| -) |
19 |
| - |
20 |
| -SET ORIGIN=%cd% |
21 |
| -call :joinpath "%ORIGIN%" "install.log" |
22 |
| -SET LOG_FILE=%Result% |
23 |
| - |
24 |
| -:: Cleaning up previous mess |
25 |
| -del /Q %FILE% ! >nul 2>&1 |
26 |
| -rd /S /Q %DIR% >nul 2>&1 |
27 |
| -del /Q %LOG_FILE% ! >nul 2>&1 |
28 |
| -copy /y nul %LOG_FILE% >nul 2>&1 |
29 |
| - |
30 |
| -echo|set /p="[1/6] Downloading... " |
31 |
| -echo Fetching %URL% >>%LOG_FILE% 2>&1 |
32 |
| -powershell -Command "(New-Object Net.WebClient).DownloadFile('%URL%', '%FILE%')" >>%LOG_FILE% 2>&1 |
33 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
34 |
| - |
35 |
| -echo|set /p="[2/6] Extracting... " |
36 |
| -powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('%FILE%', '.'); }" |
37 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
38 |
| - |
39 |
| -cd %DIR% |
40 |
| - |
41 |
| -echo|set /p="[3/6] Fixing CMakeLists.txt... " |
42 |
| -set OLDSTR=RUNTIME DESTINATION ""\${INSTALL_BIN_DIR}\"" |
43 |
| -set NEWSTR=RUNTIME DESTINATION ""bin\"" |
44 |
| -call :search_replace "%OLDSTR%" "%NEWSTR%" |
45 |
| - |
46 |
| -set OLDSTR=ARCHIVE DESTINATION ""\${INSTALL_LIB_DIR}\"" |
47 |
| -set NEWSTR=ARCHIVE DESTINATION ""lib\"" |
48 |
| -call :search_replace "%OLDSTR%" "%NEWSTR%" |
49 |
| - |
50 |
| -set OLDSTR=LIBRARY DESTINATION ""\${INSTALL_LIB_DIR}\"" |
51 |
| -set NEWSTR=LIBRARY DESTINATION ""lib\"" |
52 |
| -call :search_replace "%OLDSTR%" "%NEWSTR%" |
53 |
| - |
54 |
| -set OLDSTR=DESTINATION ""\${INSTALL_INC_DIR}\"" |
55 |
| -set NEWSTR=DESTINATION ""include\"" |
56 |
| -call :search_replace "%OLDSTR%" "%NEWSTR%" |
57 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
58 |
| - |
59 |
| -mkdir build && cd build |
60 |
| - |
61 |
| -echo|set /p="[4/6] Configuring... " |
62 |
| -cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%programfiles%\zlib" >>%LOG_FILE% 2>&1 |
63 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
64 |
| - |
65 |
| -echo|set /p="[5/6] Compiling... " |
66 |
| -nmake >>%LOG_FILE% 2>&1 |
67 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
68 |
| - |
69 |
| -echo|set /p="[6/6] Installing... " |
70 |
| -nmake install >>%LOG_FILE% 2>&1 |
71 |
| -set PATH=%PATH%;%programfiles%\zlib\bin |
72 |
| -if %ERRORLEVEL% NEQ 0 (echo FAILED. && echo Log can be found at %LOG_FILE%. && exit /B 1) else (echo done.) |
73 |
| - |
74 |
| -cd %ORIGIN% >nul 2>&1 |
75 |
| -del /Q %FILE% >nul 2>&1 |
76 |
| -rd /S /Q %DIR% >nul 2>&1 |
77 |
| - |
78 |
| -echo Details can be found at %LOG_FILE%. |
79 |
| - |
80 |
| -@echo on |
81 |
| -@goto :eof |
82 |
| - |
83 |
| -:joinpath |
84 |
| -set Path1=%~1 |
85 |
| -set Path2=%~2 |
86 |
| -if {%Path1:~-1,1%}=={\} (set Result=%Path1%%Path2%) else (set Result=%Path1%\%Path2%) |
87 |
| -goto :eof |
88 |
| - |
89 |
| -:search_replace |
90 |
| -set OLDSTR=%~1 |
91 |
| -set NEWSTR=%~2 |
92 |
| -set CMD="(gc CMakeLists.txt) -replace '%OLDSTR%', '%NEWSTR%' | Out-File -encoding ASCII CMakeLists.txt" |
93 |
| -powershell -Command %CMD% >>%LOG_FILE% 2>&1 |
0 commit comments