Files
UnrealEngineUWP/Engine/Source/Programs/Enterprise/Datasmith/DatasmithMaxExporter/DatasmithMax2017.Target.cs
jeanluc corenthin 32fd076fdc Fixed build breakage introduced by CL 17614269
#jira UE-127954
#rb none
#preflight 61531be57498d300011c8890

#ROBOMERGE-AUTHOR: jeanluc.corenthin
#ROBOMERGE-SOURCE: CL 17646035 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17646053 by jeanluc corenthin in ue5-release-engine-test branch]
2021-09-28 10:50:42 -04:00

96 lines
2.9 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
[SupportedPlatforms("Win64")]
public abstract class DatasmithMaxBaseTarget : TargetRules
{
// todo: duplicated in ModuleRules
bool bBuildExporterPlugin = true;
public DatasmithMaxBaseTarget(TargetInfo Target)
: base(Target)
{
Type = TargetType.Program;
SolutionDirectory = "Programs/Datasmith";
bBuildInSolutionByDefault = false;
bLegalToDistributeBinary = true;
bShouldCompileAsDLL = true;
LinkType = TargetLinkType.Monolithic;
// todo: duplicated in ModuleRules
string BuildDirectLinkEnvVar = System.Environment.GetEnvironmentVariable("DATASMITH_3DSMAX_PLUGIN_WITH_DIRECTLINK");
if (BuildDirectLinkEnvVar != null && BuildDirectLinkEnvVar != "")
{
bBuildExporterPlugin = false;
}
if (bBuildExporterPlugin)
{
WindowsPlatform.ModuleDefinitionFile = "Programs/Enterprise/Datasmith/DatasmithMaxExporter/DatasmithMaxExporter.def";
}
else
{
WindowsPlatform.ModuleDefinitionFile = "Programs/Enterprise/Datasmith/DatasmithMaxExporter/DatasmithMaxExporterWithDirectLink.def";
}
WindowsPlatform.bStrictConformanceMode = false;
bBuildDeveloperTools = false;
bUseMallocProfiler = false;
bBuildWithEditorOnlyData = false;
bCompileAgainstEngine = false;
bCompileAgainstCoreUObject = true;
bCompileICU = false;
bUsesSlate = false;
bHasExports = true;
bForceEnableExceptions = true;
if (!bBuildExporterPlugin)
{
GlobalDefinitions.Add("UE_EXTERNAL_PROFILING_ENABLED=0"); // For DirectLinkUI (see FDatasmithExporterManager::FInitOptions)
}
// todo: remove?
// bSupportEditAndContinue = true;
}
protected void AddCopyPostBuildStep(TargetInfo Target)
{
// Add a post-build step that copies the output to a file with the .dle extension
string OutputName = "$(TargetName)";
if (Target.Configuration != UnrealTargetConfiguration.Development)
{
OutputName = string.Format("{0}-{1}-{2}", OutputName, Target.Platform, Target.Configuration);
}
string SrcOutputFileName = string.Format(@"$(EngineDir)\Binaries\Win64\{0}\{1}.dll", ExeBinariesSubFolder, OutputName);
string DstOutputFileName;
if (bBuildExporterPlugin)
{
DstOutputFileName = string.Format(@"$(EngineDir)\Binaries\Win64\{0}\{1}.dle", ExeBinariesSubFolder, OutputName);
}
else
{
DstOutputFileName = string.Format(@"$(EngineDir)\Binaries\Win64\{0}\{1}.gup", ExeBinariesSubFolder, OutputName);
}
PostBuildSteps.Add(string.Format("echo Copying {0} to {1}...", SrcOutputFileName, DstOutputFileName));
PostBuildSteps.Add(string.Format("copy /Y \"{0}\" \"{1}\" 1>nul", SrcOutputFileName, DstOutputFileName));
}
}
public class DatasmithMax2017Target : DatasmithMaxBaseTarget
{
public DatasmithMax2017Target(TargetInfo Target)
: base(Target)
{
LaunchModuleName = "DatasmithMax2017";
ExeBinariesSubFolder = @"3DSMax\2017";
AddCopyPostBuildStep(Target);
}
}