brought back functionality from previous builds but now cross-platform
This commit is contained in:
@@ -2,21 +2,32 @@
|
||||
#include "c.h"
|
||||
#include "ld.h"
|
||||
#include "runner.h"
|
||||
#include "target.h"
|
||||
#include "tier1/utlstring.h"
|
||||
#include "tier1/commandline.h"
|
||||
|
||||
void build_shader( const char *szName )
|
||||
{
|
||||
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/assets/gfx"));
|
||||
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/metal/gfx"));
|
||||
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/vulkan/gfx"));
|
||||
|
||||
CUtlVector<CUtlString> slang_args = {
|
||||
CUtlString("funnyassets/gfx_shaders/%s.slang", szName),
|
||||
"-g",
|
||||
"-target",
|
||||
"spirv",
|
||||
"-D",
|
||||
"__SPIRV__=1",
|
||||
"-o",
|
||||
CUtlString("build/funnygame/assets/gfx/%s.spv", szName),
|
||||
CUtlString("build/funnygame/vulkan/gfx/%s.shader", szName),
|
||||
};
|
||||
|
||||
IRunner::Run("slangc", slang_args);
|
||||
|
||||
slang_args[3] = "metal";
|
||||
slang_args[5] = "__METAL__=1";
|
||||
slang_args[7] = CUtlString("build/funnygame/metal/gfx/%s.shader", szName);
|
||||
IRunner::Run("slangc", slang_args);
|
||||
IRunner::Wait();
|
||||
};
|
||||
|
||||
int assets_build()
|
||||
@@ -29,17 +40,34 @@ int assets_build()
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/materials");
|
||||
build_shader("mesh_frag");
|
||||
build_shader("mesh_vert");
|
||||
build_shader("agx_comp");
|
||||
build_shader("mesh_edge_detection_comp");
|
||||
CUtlVector<CUtlString> python_args = {
|
||||
"build/tools/makepak64.py",
|
||||
CUtlString("build/funnygame/assets"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "rtt") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "rtt"),
|
||||
};
|
||||
V_printf("%s\n",
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "rtt").GetString() : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "rtt").GetString()
|
||||
);
|
||||
IRunner::Run("python3", python_args);
|
||||
if (Target_t::DefaultTarget().kernel == TARGET_KERNEL_IOS ||Target_t::DefaultTarget().kernel == TARGET_KERNEL_DARWIN)
|
||||
{
|
||||
python_args = {
|
||||
"build/tools/makepak64.py",
|
||||
CUtlString("build/funnygame/metal"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "metal") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "metal"),
|
||||
};
|
||||
IRunner::Run("python3", python_args);
|
||||
} else {
|
||||
python_args = {
|
||||
"build/tools/makepak64.py",
|
||||
CUtlString("build/funnygame/vulkan"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "vulkan") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "vulkan"),
|
||||
};
|
||||
IRunner::Run("python3", python_args);
|
||||
}
|
||||
IRunner::Wait();
|
||||
|
||||
if (bStaticBuild)
|
||||
IFileSystem2::CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), "funnyassets/default.cfg");
|
||||
else
|
||||
IFileSystem2::CopyFile(szOutputDir.GetString(), "funnyassets/default.cfg");
|
||||
return 0;
|
||||
};
|
||||
DECLARE_BUILD_STAGE(assets, assets_build);
|
||||
|
||||
Reference in New Issue
Block a user