Skip to content

Commit b411c6e

Browse files
committed
link crashpad
1 parent 7c45895 commit b411c6e

File tree

1 file changed

+45
-2
lines changed

1 file changed

+45
-2
lines changed

plugin-dev/Source/Sentry/Sentry.Build.cs

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -500,11 +500,11 @@ public Sentry(ReadOnlyTargetRules Target) : base(Target)
500500
PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Private", "Desktop"));
501501

502502
PublicDefinitions.Add("USE_SENTRY_NATIVE=1");
503-
PublicDefinitions.Add("SENTRY_BUILD_STATIC=1");
504503

505504
if (bForceBreakpad)
506505
{
507506
PublicDefinitions.Add("USE_SENTRY_BREAKPAD=1");
507+
PublicDefinitions.Add("SENTRY_BUILD_STATIC=1");
508508
}
509509
}
510510
#if UE_5_0_OR_LATER
@@ -561,12 +561,37 @@ public Sentry(ReadOnlyTargetRules Target) : base(Target)
561561
string buildPath = Path.Combine(intermediatePath, "Win64", "build");
562562
if(Target.Configuration == UnrealTargetConfiguration.Debug)
563563
{
564+
RuntimeDependencies.Add(Path.Combine(buildPath, "Debug", "sentry.dll"));
565+
PublicDelayLoadDLLs.Add("sentry.dll");
564566
PublicAdditionalLibraries.Add(Path.Combine(buildPath, "Debug", "sentry.lib"));
565567
}
566568
else
567-
{
569+
{
570+
RuntimeDependencies.Add(Path.Combine(buildPath, "Release", "sentry.dll"));
571+
PublicDelayLoadDLLs.Add("sentry.dll");
568572
PublicAdditionalLibraries.Add(Path.Combine(buildPath, "Release", "sentry.lib"));
569573
}
574+
575+
if (!PublicDefinitions.Contains("USE_SENTRY_BREAKPAD=1"))
576+
{
577+
string crashpadBuildPath = Path.Combine(buildPath, "crashpad_build", "handler");
578+
if(Target.Configuration == UnrealTargetConfiguration.Debug)
579+
{
580+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_handler.exe"));
581+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_wer.dll"));
582+
PublicDelayLoadDLLs.Add("crashpad_wer.dll");
583+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_handler_lib.lib"));
584+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_wer.lib"));
585+
}
586+
else
587+
{
588+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_handler.exe"));
589+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_wer.dll"));
590+
PublicDelayLoadDLLs.Add("crashpad_wer.dll");
591+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_handler_lib.lib"));
592+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_wer.lib"));
593+
}
594+
}
570595
}
571596
#if UE_5_0_OR_LATER
572597
else if (Target.Platform == UnrealTargetPlatform.Linux || Target.Platform == UnrealTargetPlatform.LinuxArm64)
@@ -577,12 +602,30 @@ public Sentry(ReadOnlyTargetRules Target) : base(Target)
577602
string buildPath = Path.Combine(intermediatePath, "Linux", "build");
578603
if(Target.Configuration == UnrealTargetConfiguration.Debug)
579604
{
605+
RuntimeDependencies.Add(Path.Combine(buildPath, "Debug", "sentry.so"));
580606
PublicAdditionalLibraries.Add(Path.Combine(buildPath, "Debug", "sentry.a"));
581607
}
582608
else
583609
{
610+
RuntimeDependencies.Add(Path.Combine(buildPath, "Release", "sentry.so"));
584611
PublicAdditionalLibraries.Add(Path.Combine(buildPath, "Release", "sentry.a"));
585612
}
613+
614+
string crashpadBuildPath = Path.Combine(buildPath, "crashpad_build", "handler");
615+
if(Target.Configuration == UnrealTargetConfiguration.Debug)
616+
{
617+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_handler"));
618+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_wer.so"));
619+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_handler_lib.a"));
620+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Debug", "crashpad_wer.a"));
621+
}
622+
else
623+
{
624+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_handler.exe"));
625+
RuntimeDependencies.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_wer.so"));
626+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_handler_lib.a"));
627+
PublicAdditionalLibraries.Add(Path.Combine(crashpadBuildPath, "Release", "crashpad_wer.a"));
628+
}
586629
}
587630
else if (Target.Platform == XboxXPlatform || Target.Platform == XboxOnePlatform)
588631
{

0 commit comments

Comments
 (0)