#include "target.h" #include "helper.h" #include "tier1/utlstring.h" auto szTarget = Target_t::DefaultTarget().GetTriplet(); auto szOutputDir = CUtlString("build/funnygame/%s/game", szTarget.GetString()); ADD_DEPENDENCY_BUILD_FILE(launcher, "launcher/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(engine, "engine/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(ms, "materialsystem/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(fs, "external/funnystdlib/stdfilesystems/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(tier0, "external/funnystdlib/tier0/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(fsc, "shadercompiler/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(server, "game/server/build.cpp"); ADD_DEPENDENCY_BUILD_FILE(client, "game/client/build.cpp"); #define EXTERNAL "external/" DECLARE_BUILD_STAGE(install_game) { filesystem2->MakeDirectory(szOutputDir); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(launcher, "launcher")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(engine, "engine")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(MaterialSystem, "MaterialSystem")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(RenderSystemVulkan, "RenderSystemVulkan")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(tier0, "tier0")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(filesystem_std, "fs")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(shadercompiler, "fs")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(Server, "server")); filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(Client, "client")); filesystem2->CopyDirectory(CUtlString("%s/core",szOutputDir.GetString()), "funnyassets/meshes"); filesystem2->CopyDirectory(CUtlString("%s/core",szOutputDir.GetString()), "build/funnygame/assets/shaders"); if (Target_t::DefaultTarget().kernel == TARGET_KERNEL_WINDOWS) { filesystem2->CopyFile(szOutputDir, EXTERNAL "windows/libgcc_s_seh-1.dll"); filesystem2->CopyFile(szOutputDir, EXTERNAL "windows/libwinpthread-1.dll"); filesystem2->CopyFile(szOutputDir, EXTERNAL "windows/libstdc++-6.dll"); } return 0; }