54 lines
2.9 KiB
C++
Executable File
54 lines
2.9 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(cfg, "buildcfg.cpp");
|
|
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");
|
|
ADD_DEPENDENCY_BUILD_FILE(rapier, "rapier/build.cpp");
|
|
#define EXTERNAL "external/"
|
|
|
|
DECLARE_BUILD_STAGE(install_game)
|
|
{
|
|
filesystem2->MakeDirectory(szOutputDir);
|
|
if ( GET_PROJECT_VALUE(config, "static") != "true" )
|
|
{
|
|
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->CopyFile(szOutputDir, GET_PROJECT_OBJECT(rapier, "physics"));
|
|
}
|
|
if ( GET_PROJECT_VALUE(config, "steam") == "true" ) {
|
|
filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(config, "steam_lib"));
|
|
}
|
|
filesystem2->CopyFile(szOutputDir, GET_PROJECT_OBJECT(launcher, "launcher"));
|
|
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/models");
|
|
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/meshes");
|
|
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/materials");
|
|
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/textures");
|
|
filesystem2->CopyDirectory(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/physics");
|
|
filesystem2->CopyFile(CUtlString("%s/core/",szOutputDir.GetString()), "funnyassets/default.cfg");
|
|
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;
|
|
}
|