diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 44053c70..accf0647 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -66,3 +66,10 @@ jobs: run: | cd build bash ./build + - uses: actions/upload-artifact@v4 + name: Upload build artifacts + with: + name: "steamworks-x64-${{matrix.os}}-git" + path: build/package/ + if-no-files-found: error + retention-days: 90 diff --git a/AMBuildScript b/AMBuildScript index d7c92414..5aa93f16 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -207,7 +207,6 @@ class SteamWorksConfig(object): '/EHsc', '/GR-', '/TP', - '/std:c++20' ] cxx.linkflags += [ '/MACHINE:X86', diff --git a/Extension/AMBuilder b/Extension/AMBuilder index 54934dd3..1ec0f2ac 100644 --- a/Extension/AMBuilder +++ b/Extension/AMBuilder @@ -39,6 +39,8 @@ for sdk_name in SteamWorks.sdks: binary.compiler.postlink += os.path.join(SteamWorks.steamworks_root, 'redistributable_bin', 'linux32', 'libsteam_api.so'),; if binary.compiler.target.platform == 'windows': + binary.compiler.cxxflags += [ '/std:c++20', '/EHsc' ] + if binary.compiler.target.arch == 'x86_64': binary.compiler.postlink += os.path.join(SteamWorks.steamworks_root, 'redistributable_bin', 'win64', 'steam_api64.lib'),; else: diff --git a/Extension/swgameserver.cpp b/Extension/swgameserver.cpp index 55f7377a..005d710d 100644 --- a/Extension/swgameserver.cpp +++ b/Extension/swgameserver.cpp @@ -17,8 +17,11 @@ */ #include "swgameserver.h" + +#if defined POSIX #include #include +#endif static void GetGameSpecificConfigInterface(const char *pName, const char *&pVersion) { @@ -238,6 +241,7 @@ void SteamWorksGameServer::GetUserAndPipe(HSteamUser &hSteamUser, HSteamPipe &hS hSteamPipe = SteamGameServer_GetHSteamPipe(); } +#if defined POSIX std::string get_loaded_library_path(const std::string& libname) { struct search_data_t { const std::string& name; @@ -257,6 +261,7 @@ std::string get_loaded_library_path(const std::string& libname) { return search_data.path; } +#endif const char *SteamWorksGameServer::GetLibraryPath(void) { diff --git a/buildbot/PackageScript b/buildbot/PackageScript index 66e3c16f..080eafc0 100644 --- a/buildbot/PackageScript +++ b/buildbot/PackageScript @@ -4,7 +4,7 @@ import os builder.SetBuildFolder('package') folder_list = [ - 'addons/sourcemod/extensions', + 'addons/sourcemod/extensions/x64', 'addons/sourcemod/scripting', 'addons/sourcemod/scripting/include', ] @@ -16,7 +16,7 @@ for folder in folder_list: folder_map[folder] = builder.AddFolder(norm_folder) for extension in SteamWorks.extensions: - builder.AddCopy(extension.binary, folder_map['addons/sourcemod/extensions']) + builder.AddCopy(extension.binary, folder_map['addons/sourcemod/extensions/x64']) # Do all straight-up file copies from the source tree. def CopyFiles(src, dest, files):