56 lines
2.2 KiB
C++
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"};
|
|
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;
|
|
};
|