Files
funnygame/launcher/build.cpp
2026-03-06 16:42:16 +02:00

56 lines
2.2 KiB
C++

#include "target.h"
#include "helper.h"
#include "c.h"
#include "ld.h"
#include "tier1/utlstring.h"
#include "appletool.h"
ADD_DEPENDENCY_BUILD_FILE(cfg, "../buildcfg.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(server, "../game/server/build.cpp");
ADD_DEPENDENCY_BUILD_FILE(client, "../game/client/build.cpp");
DECLARE_BUILD_STAGE(launcher)
{
CProject_t compileProject = {};
LinkProject_t ldProject = {};
compileProject.m_szName = "launcher";
compileProject.files = {"launcher.cpp"};
compileProject.includeDirectories = {"../external/SDL/include"};
compileProject.m_target = Target_t::DefaultTarget();
ldProject = ccompiler->Compile(&compileProject);
ldProject.linkType = ELINK_EXECUTABLE;
if (compileProject.m_target.kernel == TARGET_KERNEL_IOS)
{
ldProject.frameworkDirectories = {"../external/ios"};
ldProject.frameworks = {"SDL3"};
}
if ( GET_PROJECT_VALUE(config, "static") == "true" )
{
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(engine, "engine")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(MaterialSystem, "MaterialSystem")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(RenderSystemVulkan, "RenderSystemVulkan")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(tier0, "tier0")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(filesystem_std, "fs")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(shadercompiler, "fs")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Server, "server")});
ldProject.objects.AppendTail({GET_PROJECT_OBJECT(Client, "client")});
}
CUtlString outputProject = linker->Link(&ldProject);
if (compileProject.m_target.kernel == TARGET_KERNEL_IOS)
{
AppleManifest_t manifest = {};
manifest.SetPackageName("funnygame");
manifest.SetPackageID("com.kotofyt.funnygame");
manifest.SetPackageExecutable(outputProject);
V_printf("%s\n", manifest.m_szPackageName.GetString());
CUtlString szIpa = AppleTool()->BuildPackage( manifest, manifest.BuildManifest() );
}
ADD_OUTPUT_OBJECT("launcher", outputProject);
return 0;
};