summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-05-17 06:53:42 -0400
committerNat Goodspeed <nat@lindenlab.com>2018-05-17 06:53:42 -0400
commitc5f618d096f05bdff91a5d384c46e26840f5a771 (patch)
treedc1299b8445c97c9bc165e2388a1b39d21dcddb1 /indra/cmake
parentc45fc5a381de69ab95680f8902c4fdfddd7cd97a (diff)
SL-821: Move Windows BugSplat engagement from llcommon to newview.
Use WSTRINGIZE(), LL_TO_WSTRING(), wstringize() to produce required wide strings. Use a lambda for callback that sends log file; use LLDir, if set, to find the log file. Introduce BUGSPLAT CMake variable to allow suppressing BugSplat. Make BUGSPLAT CMake variable set LL_BUGSPLAT for C++ compilations. Set viewer version macros on llappviewerwin32.cpp, llappviewerlinux.cpp and llappdelegate-objc.mm -- because BugSplat needs the viewer version data, and because the macOS BugSplat hook is engaged in an Objective-C++ function we override in the app delegate.
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/CMakeLists.txt1
-rw-r--r--indra/cmake/bugsplat.cmake46
2 files changed, 29 insertions, 18 deletions
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 4a3ebe4835..84e1c5d6fd 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -12,6 +12,7 @@ set(cmake_SOURCE_FILES
Audio.cmake
BerkeleyDB.cmake
Boost.cmake
+ bugsplat.cmake
BuildVersion.cmake
CEFPlugin.cmake
CEFPlugin.cmake
diff --git a/indra/cmake/bugsplat.cmake b/indra/cmake/bugsplat.cmake
index e993979902..a7f4194905 100644
--- a/indra/cmake/bugsplat.cmake
+++ b/indra/cmake/bugsplat.cmake
@@ -1,20 +1,30 @@
-include(Prebuilt)
+# BUGSPLAT can be set when launching the make using the argument -DBUGSPLAT:BOOL=ON
+# When building using proprietary binaries though (i.e. having access to LL private servers),
+# we always build with BUGSPLAT.
+# Open source devs should use the -DBUGSPLAT:BOOL=ON then if they want to
+# build with BugSplat, whether they are using USESYSTEMLIBS or not.
+if (INSTALL_PROPRIETARY)
+ set(BUGSPLAT ON CACHE BOOL "Using BugSplat crash reporting library.")
+endif (INSTALL_PROPRIETARY)
-set(BUGSPLAT_FIND_QUIETLY ON)
-set(BUGSPLAT_FIND_REQUIRED ON)
+if (BUGSPLAT)
+ if (USESYSTEMLIBS)
+ set(BUGSPLAT_FIND_QUIETLY ON)
+ set(BUGSPLAT_FIND_REQUIRED ON)
+ include(FindBUGSPLAT)
+ else (USESYSTEMLIBS)
+ include(Prebuilt)
+ use_prebuilt_binary(bugsplat)
+ if (WINDOWS)
+ set(BUGSPLAT_LIBRARIES
+ ${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat.lib
+ )
+ elseif (DARWIN)
+ find_library(BUGSPLAT_LIBRARIES BugsplatMac
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}")
+ else (WINDOWS)
-if (USESYSTEMLIBS)
- include(FindBUGSPLAT)
-else (USESYSTEMLIBS)
- use_prebuilt_binary(bugsplat)
- if (WINDOWS)
- set(BUGSPLAT_LIBRARIES
- ${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat.lib
- )
- elseif (DARWIN)
-
- else (WINDOWS)
-
- endif (WINDOWS)
- set(BUGSPLAT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/bugsplat)
-endif (USESYSTEMLIBS)
+ endif (WINDOWS)
+ set(BUGSPLAT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/bugsplat)
+ endif (USESYSTEMLIBS)
+endif (BUGSPLAT)