42 lines
1.1 KiB
Haxe
Raw Normal View History

2025-01-22 16:18:30 +01:00
import haxe.io.Path;
import sys.FileSystem;
class HLSL
{
var file:String;
var profile:String;
var target:String;
var variable:String;
public function new(inFile:String, inProfile:String, inVariable:String, inTarget:String)
{
file = inFile;
profile = inProfile;
variable = inVariable;
target = inTarget;
}
public function build()
{
if (!FileSystem.exists(Path.directory (target)))
{
PathManager.mkdir(Path.directory (target));
}
//DirManager.makeFileDir(target);
var srcStamp = FileSystem.stat(file).mtime.getTime();
if (!FileSystem.exists(target) || FileSystem.stat(target).mtime.getTime() < srcStamp)
{
var exe = "fxc.exe";
var args = [ "/nologo", "/T", profile, file, "/Vn", variable, "/Fh", target ];
var result = ProcessManager.runCommand("", exe, args);
if (result!=0)
{
Log.error("Could not compile shader \"" + file + "\"");
//throw "Error : Could not compile shader " + file + " - build cancelled";
}
}
}
}