From 8781b36d7ee5d6532fb6534caa595166ad00f04d Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Fri, 25 May 2018 16:08:00 -0400
Subject: [PATCH] SL-821: export BUGSPLAT_DB when loaded so child processes can
 detect.

Produce CMake message when BugSplat is engaged so we can detect in build log.

Don't try to copy BugSplat DLLs when NOT engaged.
---
 build.sh                           | 5 +++++
 indra/cmake/Copy3rdPartyLibs.cmake | 8 +++++---
 indra/cmake/bugsplat.cmake         | 2 ++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/build.sh b/build.sh
index 7e44c6fee31..cf18c3f5418 100755
--- a/build.sh
+++ b/build.sh
@@ -110,6 +110,11 @@ pre_build()
     then # show that we're doing this, just not the contents
          echo source "$bugsplat_sh"
          source "$bugsplat_sh"
+         # important: we test this and use its value in [grand-]child processes
+         if [ -n "${BUGSPLAT_DB:-}" ]
+         then echo export BUGSPLAT_DB
+              export BUGSPLAT_DB
+         fi
     fi
     set -x
 
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 7f708bc27a3..c9519b0e1d8 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -51,15 +51,17 @@ if(WINDOWS)
 
     # Filenames are different for 32/64 bit BugSplat file and we don't
     # have any control over them so need to branch.
-    if(ADDRESS_SIZE EQUAL 32)
+    if (DEFINED ENV{BUGSPLAT_DB})
+      if(ADDRESS_SIZE EQUAL 32)
         set(release_files ${release_files} BugSplat.dll)
         set(release_files ${release_files} BugSplatRc.dll)
         set(release_files ${release_files} BsSndRpt.exe)
-    else(ADDRESS_SIZE EQUAL 32)
+      else(ADDRESS_SIZE EQUAL 32)
         set(release_files ${release_files} BugSplat64.dll)
         set(release_files ${release_files} BugSplatRc64.dll)
         set(release_files ${release_files} BsSndRpt64.exe)
-    endif(ADDRESS_SIZE EQUAL 32)
+      endif(ADDRESS_SIZE EQUAL 32)
+    endif (DEFINED ENV{BUGSPLAT_DB})
 
     if (FMODEX)
 
diff --git a/indra/cmake/bugsplat.cmake b/indra/cmake/bugsplat.cmake
index 4db9068b49a..eb5808b1fbb 100644
--- a/indra/cmake/bugsplat.cmake
+++ b/indra/cmake/bugsplat.cmake
@@ -3,10 +3,12 @@
 # build).
 if (DEFINED ENV{BUGSPLAT_DB})
   if (USESYSTEMLIBS)
+    message(STATUS "Looking for system BugSplat")
     set(BUGSPLAT_FIND_QUIETLY ON)
     set(BUGSPLAT_FIND_REQUIRED ON)
     include(FindBUGSPLAT)
   else (USESYSTEMLIBS)
+    message(STATUS "Engaging autobuild BugSplat")
     include(Prebuilt)
     use_prebuilt_binary(bugsplat)
     if (WINDOWS)
-- 
GitLab