Files
funnygame/build.cpp
2026-02-19 22:06:21 +02:00

40 lines
2.0 KiB
C++
Executable File

#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;
}