mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2025-12-06 04:04:53 +01:00
Fix CI to use BAT files only for win build.
For consistency have the CI use the same build path as
the end-user builds.
Use where.exe from wine-10.0.
CI's version is a stub. Use one that actually works, until the CI gets
updated.
Also, fix broken RtlGenRandom by importing ADVAPI32's GetUserNameW(),
and calling GetModuleHandleW() / GetProcAddress() for SystemFunction032().
Instead of trying to use a fake import lib.
Bonus: Can now use the host system's username as the default for the
steam user name instead of "Noob".
("Noob" is still used as the fallback if this call fails, or the host
system's username is invalid.)
This commit is contained in:
parent
abd8300d47
commit
74d22df42e
17 changed files with 926 additions and 317 deletions
|
|
@ -1,42 +1,51 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\release ( mkdir build\release )
|
||||
IF NOT EXIST build\release\x86 ( mkdir build\release\x86 )
|
||||
IF NOT EXIST build\release\x64 ( mkdir build\release\x64 )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\release\x86\*.* ( DEL /F /S /Q build\release\x86\*.* )
|
||||
IF EXIST build\release\x64\*.* ( DEL /F /S /Q build\release\x64\*.* )
|
||||
|
||||
IF NOT EXIST release ( mkdir release )
|
||||
IF EXIST release\steam_settings.EXAMPLE ( DEL /F /S /Q release\steam_settings.EXAMPLE )
|
||||
IF EXIST release\*.dll ( DEL /F /Q release\*.dll )
|
||||
IF EXIST release\*.txt ( DEL /F /Q release\*.txt )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
cd build\release\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\steam_api.dll
|
||||
cd %OLD_DIR%\build\release\x86
|
||||
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\DLL_MAIN_CPP.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\steam_api.dll >> %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\steam_api.pdb >> %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS )
|
||||
|
||||
cl /LD @%CDS_DIR%/RELEASE.LKS @%CDS_DIR%/PROTOBUF_X86.LKS @%CDS_DIR%/DLL_MAIN_CPP.LKS @%CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
cd build\release\x64
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\steam_api64.dll
|
||||
cd %OLD_DIR%\build\release\x64
|
||||
|
||||
cl /c @%CDS_DIR%/RELEASE.BLD @%CDS_DIR%/PROTOBUF_X64.BLD @%CDS_DIR%/DLL_MAIN_CPP.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\steam_api64.dll >> %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\steam_api64.pdb >> %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS )
|
||||
|
||||
cl /LD @%CDS_DIR%/RELEASE.LKS @%CDS_DIR%/PROTOBUF_X64.LKS @%CDS_DIR%/DLL_MAIN_CPP.LKS @%CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
|
||||
endlocal
|
||||
copy Readme_release.txt release\Readme.txt
|
||||
xcopy /s files_example\* release\
|
||||
call build_win_release_experimental.bat
|
||||
call build_win_release_experimental_steamclient.bat
|
||||
call build_win_lobby_connect.bat
|
||||
call build_win_find_interfaces.bat
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue