#include "helper.h" #include "c.h" #include "ld.h" #include "tier1/utlstring.h" #include "tier1/commandline.h" CUtlVector MaterialSystem_CompiledFiles = { "materialsystem/materialsystem.cpp", "materialsystem/compiledshader.cpp", }; CUtlVector RenderContextVulkan_CompiledFiles = { "materialsystem/vulkan/shaderparser.cpp", "materialsystem/vulkan/rendercontext.cpp", "materialsystem/vulkan/commandbuffer.cpp", "materialsystem/vulkan/rendercommandlist.cpp", "materialsystem/vulkan/material.cpp", "materialsystem/vulkan/shader.cpp", "materialsystem/vulkan/utils.cpp", "materialsystem/vulkan/vma.cpp", "materialsystem/vulkan/commands/draw.cpp", "materialsystem/vulkan/commands/transfer.cpp", "materialsystem/vulkan/commands/base.cpp", "materialsystem/vulkan/libraries/raster.cpp", "external/volk/volk.c", }; CUtlString material_lib; DECLARE_BUILD_STAGE(MaterialSystem) { CProject_t compileProject = {}; LinkProject_t ldProject = {}; compileProject.m_szName = "MaterialSystem"; compileProject.files = MaterialSystem_CompiledFiles; compileProject.includeDirectories = all_IncludeDirectories; compileProject.bFPIC = true; ldProject = ccompiler->Compile(&compileProject); ldProject.linkType = ELINK_STATIC_LIBRARY; ldProject.libraries = { "vulkan" }; CUtlString outputProject = linker->Link(&ldProject); material_lib = outputProject; return 0; }