// Copyright (c) Wojciech Figat. All rights reserved.
using System.IO;
using Flax.Build;
using Flax.Build.NativeCpp;
///
/// https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK
///
public class AGS : DepsModule
{
public static bool Use(BuildOptions options)
{
return options.Platform.Target == TargetPlatform.Windows && options.Architecture == TargetArchitecture.x64;
}
///
public override void Init()
{
base.Init();
LicenseType = LicenseTypes.MIT;
LicenseFilePath = "LICENSE.txt";
// Merge third-party modules into engine binary
BinaryModuleName = "FlaxEngine";
}
///
public override void Setup(BuildOptions options)
{
base.Setup(options);
var depsRoot = options.DepsFolder;
options.PublicDefinitions.Add("COMPILE_WITH_AGS");
switch (options.Platform.Target)
{
case TargetPlatform.Windows:
switch (options.Architecture)
{
case TargetArchitecture.x64:
options.OutputFiles.Add(Path.Combine(depsRoot, "amd_ags_x64.lib"));
options.OptionalDependencyFiles.Add(Path.Combine(depsRoot, "amd_ags_x64.dll"));
break;
default: throw new InvalidArchitectureException(options.Architecture);
}
break;
default: throw new InvalidPlatformException(options.Platform.Target);
}
}
}