Skip to content
Snippets Groups Projects
  1. Sep 25, 2019
  2. Mar 06, 2019
  3. Mar 04, 2019
  4. Dec 08, 2018
  5. Sep 24, 2018
  6. Sep 07, 2018
  7. Sep 05, 2018
  8. Aug 27, 2018
    • Nat Goodspeed's avatar
      SL-957: Explicitly pass VIEWER_SYMBOL_FILE from build.sh into CMake · 3f7c75b8
      Nat Goodspeed authored
      instead of relying on both indra/newview/CMakeLists.txt and build.sh
      generating the same file pathname.
      
      Make build.sh set VIEWER_SYMBOL_FILE (instead of symbolfile) in pre_build, and
      pass it to autobuild configure via -D switch. Then the uploads stanza can just
      use VIEWER_SYMBOL_FILE instead of performing its platform-sensitive case
      statement right there.
      
      Introduce VIEWER_SYMBOL_FILE CMake cache variable, default empty string.
      
      Make indra/newview/CMakeLists.txt generate_breakpad_symbols logic conditional
      on VIEWER_SYMBOL_FILE being non-empty, as well as everything else. Eliminate
      local set(VIEWER_SYMBOL_FILE) directives.
      3f7c75b8
  9. Aug 24, 2018
    • Nat Goodspeed's avatar
      DRTVWR-447: Introduce explicit CMake BUGSPLAT_DB variable. · c2178bb6
      Nat Goodspeed authored
      Define the CMake cache variable, with empty string as its default.
      
      Make build.sh pass the BUGSPLAT_DB environment variable as a CMake
      command-line variable assignment.
      
      Change CMake 'if (DEFINED ENV{BUGSPLAT_DB})' to plain 'if (BUGSPLAT_DB)'.
      
      Make CMake pass new --bugsplat switch to every one of SIX different
      invocations of viewer_manifest.py.
      
      Give llmanifest.main() function an argument to allow supplementing the base
      set of command-line switches with additional application-specific switches.
      
      In viewer_manifest.py, define new --bugsplat command-line switch and pass to
      llmanifest.main(). Instead of consulting os.environ['BUGSPLAT_DB'], consult
      self.args['bugsplat'].
      c2178bb6
  10. Mar 06, 2019
  11. Mar 04, 2019
  12. Jan 16, 2019
  13. May 30, 2018
  14. May 25, 2018
    • Nat Goodspeed's avatar
      SL-821: export BUGSPLAT_DB when loaded so child processes can detect. · 8781b36d
      Nat Goodspeed authored
      Produce CMake message when BugSplat is engaged so we can detect in build log.
      
      Don't try to copy BugSplat DLLs when NOT engaged.
      8781b36d
    • Nat Goodspeed's avatar
      SL-821, SL-826: Use BUGSPLAT_DB from environment on Windows and Mac. · 63fe7d80
      Nat Goodspeed authored
      On TeamCity, set BUGSPLAT_DB from build-secrets.
      
      Use the presence of $BUGSPLAT_DB, rather than a new CMake BUGSPLAT option, to
      control whether CMake searches for BugSplat -- and passes LL_BUGSPLAT into C++.
      
      When BUGSPLAT_DB is present, make viewer_manifest.py set "BugSplat DB" in
      build_data.json, and "BugsplatServerURL" in Mac Info.plist.
      
      Make llappviewerwin32.cpp read "BugSplat DB" from build_data.json.
      
      Add placeholders for Mac hooks to suppress BugSplat prompt and send
      SecondLife.log.
      63fe7d80
  15. May 17, 2018
    • Nat Goodspeed's avatar
      SL-821: Move Windows BugSplat engagement from llcommon to newview. · c5f618d0
      Nat Goodspeed authored
      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.
      c5f618d0
  16. Jan 18, 2018
  17. Oct 24, 2017
  18. Oct 23, 2017
  19. Oct 19, 2017
  20. Oct 18, 2017
  21. Sep 29, 2017
  22. Sep 27, 2017
  23. Sep 19, 2017
    • Nat Goodspeed's avatar
      DRTVWR-418: Another attempt to generate Mac debug symbols. · eae14421
      Nat Goodspeed authored
      The viewer's 00-COMPILE-LINK-RUN.txt recommends passing -gdwarf-2 to the Mac
      compiler, and so we've been doing ever since before the viewer-build-variables
      repo was engaged. Now we discover that when CMake sees -gdwarf-2, it removes
      the -g switch entirely. It also removes it when you pass plain -g. Only when
      you pass -gdwarf-with-dsym or just -gdwarf does CMake pass plain -g to the
      compiler. Change -gdwarf-2, if specified, to -gdwarf so we at least get -g.
      eae14421
  24. Jun 19, 2017
  25. Jun 14, 2017
  26. May 17, 2017
  27. May 09, 2017
  28. May 08, 2017
    • Nat Goodspeed's avatar
      DRTVWR-418: Fix -std=c++11 llinstancetracker_test crash. · 322c4c6b
      Nat Goodspeed authored
      LLInstanceTracker<T> performs validation in ~LLInstanceTracker(). Normally
      validation failure logs an error and terminates the program, which is fine. In
      the test executable, though, we want validation failure to throw an exception
      instead so we can catch it and continue testing other failure conditions. But
      since destructors in C++11 are implicitly noexcept(true), that exception never
      made it out of ~LLInstanceTracker(): it crashed the test program instead.
      Declaring ~LLInstanceTracker() noexcept(false) solves that, allowing the test
      program to catch the exception and continue.
      
      However, if we unconditionally declare that, then every destructor anywhere in
      the inheritance hierarchy for any LLInstanceTracker subclass must also be
      noexcept(false)! That's way too pervasive, especially for functionality we
      only need (or want) in a specific test executable.
      
      Instead, make the CMake macros LL_ADD_PROJECT_UNIT_TESTS() and
      LL_ADD_INTEGRATION_TEST() -- with which we define all viewer build-time tests
      -- define two new command-line macros: LL_TEST=testname and LL_TEST_testname.
      That way, preprocessor logic in a header file can detect whether it's being
      compiled for production code or for a test executable.
      
      (While at it, encapsulate in a new GET_OPT_SOURCE_FILE_PROPERTY() CMake macro
      an ugly repetitive pattern. The builtin GET_SOURCE_FILE_PROPERTY() sets the
      target variable to "NOTFOUND" -- rather than an empty string -- if the
      specified property wasn't set. Every call to GET_SOURCE_FILE_PROPERTY() in
      LL_ADD_PROJECT_UNIT_TESTS() was followed by a test for NOTFOUND and an
      assignment to "". Wrap all that in a macro whose 'unset' value is "".)
      
      Now llinstancetracker.h can detect when we're building the LLInstanceTracker
      unit test executable, and *only then* declare ~LLInstanceTracker() as
      noexcept(false). We #define LLINSTANCETRACKER_DTOR_NOEXCEPT to expand either
      empty or noexcept(false), also detecting clang in C++11 mode. (It all works
      fine without noexcept(false) until we turn on C++11 mode.)
      
      We also use that macro for the StatBase class in lltrace.h. Turns out some of
      the infrastructure headers required for tests in general, including the
      LLInstanceTracker test, use LLInstanceTracker. Fortunately that appears to be
      the only other class we must annotate this way for the LLInstanceTracker tests.
      322c4c6b
  29. May 04, 2017
  30. May 03, 2017
    • Nat Goodspeed's avatar
      DRTVWR-418: Silence some Mac build warnings. · 614c75e1
      Nat Goodspeed authored
      Whatever we were trying to do with LLSharedLibs.cmake hasn't worked on the Mac
      for a long time, and trying to fix it only digs up more problems. Skip it:
      we've already worked around it.
      
      Update the media_plugins_example CMakeLists.txt to eliminate some CMake
      non-existent dependency warnings.
      614c75e1
  31. May 01, 2017
  32. Apr 07, 2017
  33. Apr 06, 2017
  34. Mar 27, 2017
    • Callum Prentice's avatar
      Fix for MAINT-7131 Unable to start the x64 Viewer on Windows 8.1 x64. This... · cb07ca35
      Callum Prentice authored
      Fix for MAINT-7131 Unable to start the x64 Viewer on Windows 8.1 x64.  This appears to be because two of the MS DLLs we ship with the 64 bit viewer are 32bit. Manually replacing them with their 64 bit equivalents allowed the viewer to start on Windows 8.1.  The change forces the cmake file which copies the DLLs to look in C:\windows\SysWOW64 for 32 bit versions and C:\windows\system32 for 64 bit versions. (yes really).
      cb07ca35
  35. Feb 22, 2017
Loading