From abd8300d47219c465d3417ca8cfb10c4dba0ba69 Mon Sep 17 00:00:00 2001
From: redpolline <11156324-redpolline@users.noreply.gitlab.com>
Date: Fri, 31 Jan 2025 02:06:41 +0000
Subject: [PATCH] Update .gitlab-ci.yml file to skip building the PDBs.

(CI throws errors and skips building the PE files.)
---
 .gitlab-ci.yml            | 10 ++++++++--
 generate_build_win_bat.py |  7 ++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c158841..98989b5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -69,15 +69,21 @@ build_windows:
       - 7za x protobuf_x86-windows-static.7z -oprotobuf_x86-windows-static
       - 7za x protobuf_x64-windows-static.7z -oprotobuf_x64-windows-static
       - 7za x sdk_standalone.7z -osdk_standalone
-      - DLL_FILES="$(ls dll/*.cpp | tr "\n" " ")"; sed "s|dll/\*.cpp|$DLL_FILES|g" -i *.bat
-      - DLL_FILES="$(ls dll/*.proto | tr "\n" " " | sed "s/.proto/.pb.cc/g")"; sed "s|dll/\*.cc|$DLL_FILES|g" -i *.bat
+      - DLL_FILES="$(ls dll/*.cpp | tr "\n" " " | tr "/" "\\\\")"; sed "s|dll/\*.cpp|$DLL_FILES|g" -i *.bat
+      - DLL_FILES="$(ls dll/*.proto | tr "\n" " " | tr "/" "\\\\" | sed "s/.proto/.pb.cc/g")"; sed "s|dll/\*.cc|$DLL_FILES|g" -i *.bat
       - sed "s| /MP12 | /MP4 |g" -i *.bat
+      # CI can't produce PDBs. Throws a bunch of errors, and skips building the PEs.
+      - sed "s| /DDEBUG\:FULL | |g" -i *.bat
+      # Turn on echo.
+      - sed "s|echo off|echo on|g" -i *.bat
       - python generate_build_win_bat.py
       - export WINEDEBUG=-all
       - wine cmd /c build_win_release_test.bat
+      - cp build_win_release_test.bat release/build_win_release_test.bat
   artifacts:
     paths:
       - release/
+      - debug/
     expire_in: 1 day
 
 build_cmake_linux:
diff --git a/generate_build_win_bat.py b/generate_build_win_bat.py
index f24b6bc..9e3ef47 100644
--- a/generate_build_win_bat.py
+++ b/generate_build_win_bat.py
@@ -32,6 +32,7 @@ includes_64 = list(map(lambda a: '/I{}'.format(a), ["%PROTOBUF_X64_DIRECTORY%\\i
 debug_build_args = []
 release_build_args = ["/DEMU_RELEASE_BUILD", "/DNDEBUG"]
 steamclient_build_args = ["/DSTEAMCLIENT_DLL"]
+lobby_connect_args = ["/DNO_DISK_WRITES", "/DLOBBY_CONNECT"]
 
 experimental_build_args = ["/DEMU_EXPERIMENTAL_BUILD", "/DCONTROLLER_SUPPORT", "/DEMU_OVERLAY"]
 steamclient_experimental_build_args = experimental_build_args + steamclient_build_args
@@ -62,6 +63,7 @@ mkdir release\experimental
 mkdir release\experimental_steamclient
 mkdir release\debug_experimental
 mkdir release\debug_experimental_steamclient
+mkdir release\lobby_connect
 call build_set_protobuf_directories.bat
 """
 
@@ -81,7 +83,8 @@ xcopy /s files_example\* release\\
 copy Readme_experimental.txt release\experimental\Readme.txt
 copy Readme_debug.txt release\debug_experimental\Readme.txt
 copy steamclient_loader\ColdClientLoader.ini release\experimental_steamclient\\
-call build_win_lobby_connect.bat
+REM call build_win_lobby_connect.bat
+copy Readme_lobby_connect.txt release\lobby_connect\Readme.txt
 call build_win_find_interfaces.bat
 """
 
@@ -114,6 +117,8 @@ def generate_common(include_arch, linker_arch, steam_api_name, steamclient_name)
 
 out += generate_common(includes_32, linker_32, "steam_api.dll", "steamclient.dll")
 
+out += cl_line_exe(files_from_dir("./", "lobby_connect.cpp") + files_from_dir("dll", "flat.cpp") + files_from_dir("dll", "dll.cpp") + lobby_connect_args + normal_build_args + release_build_args + includes_32 + proto_deps + steam_deps + normal_linker_libs + ["Comdlg32.lib", "user32.lib"], linker_32 + ["/debug:none", "/OUT:release\lobby_connect\lobby_connect.exe"])
+
 out += cl_line_exe(files_from_dir("steamclient_loader", ".cpp") + ["advapi32.lib", "user32.lib"] + normal_build_args, ["/debug:none", "/OUT:release\experimental_steamclient\steamclient_loader.exe"])
 
 out += head_64bit