Commit Graph

1027 Commits (8a13530ce4eeb481ee467fd3ec54f1ed7e9f632a)

Author SHA1 Message Date
Oz Linden 4181b1d9e2 correct 64bit vivox dll names 2018-01-18 12:49:54 -05:00
Oz Linden 96d28ad5a7 more places where vivox names must be conditional on address size 2018-01-18 10:15:15 -05:00
Oz Linden d7c8678c3a merge 5.1.0-release 2018-01-17 12:43:28 -05:00
Nat Goodspeed 762582c499 MAINT-7081: Mention libnghttp2*.dylib in yet another place. 2017-10-24 15:38:00 -04:00
Nat Goodspeed ee2a1902a5 MAINT-7081: Mention nghttp2.dll where it must be mentioned. 2017-09-29 08:46:44 -04:00
Nat Goodspeed a05214da35 MAINT-2081: Remove ancient snapshot of CMake GetPrerequisites.
Mani captured that snapshot back when CMake version 2.8 was newer than what
was running on our build systems. Now we have to assume that the bundled
GetPrerequisites.cmake is better than our old snapshot. Use the bunded one.
2017-09-29 08:45:45 -04:00
Nat Goodspeed 19bb6fd33e MAINT-7081: Mention nghttp2 library wherever it must be mentioned. 2017-09-27 15:27:30 -04:00
Nat Goodspeed eae144219c DRTVWR-418: Another attempt to generate Mac debug symbols.
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.
2017-09-19 15:35:08 -04:00
Oz Linden 543d9b98a3 update viewer-manager, primarily to solve Mac packaging problem 2017-06-19 18:01:40 -04:00
Glenn Glazer c538ff12c5 SL-700: temporarily use local version of ca-bundle.crt instead of from voice, misc cleanup 2017-06-14 14:16:23 -07:00
Glenn Glazer 2150e038e8 update vmp package to 505332 2017-05-17 14:01:53 -07:00
Glenn Glazer 9b3166ffc0 pull from v64 gate 2017-05-12 08:18:22 -07:00
Nat Goodspeed 22eb4cf772 DRTVWR-418: Set -std=c++14 for Mac even before viewer-build-variables. 2017-05-09 14:21:35 -04:00
Nat Goodspeed 93029a5a66 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-08 09:10:22 -04:00
Nat Goodspeed 322c4c6bec DRTVWR-418: Fix -std=c++11 llinstancetracker_test crash.
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.
2017-05-08 09:09:22 -04:00
coyot@coyot-sager-PC.hsd1.ca.comcast.net a1194ce6e9 pull from gate 2017-05-05 18:07:00 +01:00
Callum Prentice 0288e5e8cf Expand the way we set C++ flags in cmake to call out each build type explicitly 2017-05-04 16:05:59 -07:00
Nat Goodspeed 18083bad5c Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-03 15:58:53 -04:00
Nat Goodspeed 614c75e110 DRTVWR-418: Silence some Mac build warnings.
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.
2017-05-03 15:58:21 -04:00
callum@lindenlab.com 9930e22ac5 Automated merge with head of lindenlab/viewer64 2017-05-02 13:31:54 -07:00
Callum Prentice 7005310541 Fix MAINT-7360 Investigate removal of MSVCR100.DLL and MSVCP100.DLL 2017-05-01 12:42:12 -07:00
Nat Goodspeed b931fb0c28 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-04-26 18:34:17 -04:00
Glenn Glazer 5ae67d8dcd MAINT-7282: add requests module and associated build machinery 2017-04-07 11:51:10 -07:00
Glenn Glazer 9770519a6e SL-321: add Requests lib cmake file 2017-04-06 14:06:49 -07:00
Callum Prentice cb07ca3510 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). 2017-03-27 17:11:00 -07:00
Nat Goodspeed 04f3304bfb Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-03-14 09:40:20 -04:00
callum@lindenlab.com bfdbda24bf Automated merge with tip of lindenlab/viewer64 2017-03-06 11:02:07 -08:00
Oz Linden f0b256b1cb correct merge error in BuildVersion.cmake 2017-02-22 17:34:46 -05:00
Oz Linden f77af9df43 use AUTOBUILD_BUILD_ID value for revision if available (requires autobuild 1.1.4) 2017-02-22 17:03:00 -05:00
Callum Prentice 5534ab4e18 First round of changes to replace LLCEFLib with Dullahan. Mostly Windows changes in this batch since I'm working on Windows box but some speculative macOS ones too although they are quite untested 2017-02-21 15:06:21 -08:00
Nat Goodspeed 038c555fc4 DRTVWR-418: In viewer64-mac-havok fork, turn on Xcode 8 Havok.
This is known not to work yet: the relevant Havok libraries are not being
bundled with llphysicsextensions, therefore the viewer can't link with any
Havok symbols.
2017-02-21 17:12:27 -05:00
Nat Goodspeed 56d04963d4 DRTVWR-418: Fix CMake syntax for Havok.cmake refactoring. 2017-02-17 16:44:47 -05:00
Nat Goodspeed 2428b484e3 DRTVWR-418: Attempt to make sense of Havok.cmake Linux logic.
Aside from crazy indentation, much of Havok.cmake is redundant testing of
DEBUG_PREBUILT and conditional MESSAGE(STATUS ...) output, not to mention
repeating stanzas for each of debug_dir, release_dir and relwithdebinfo_dir.

Use local functions and foreach() to try to manage redundancy so the details
of what it's actually trying to do don't get lost in the noise.
2017-02-17 15:56:42 -05:00
Oz Linden 9472098e81 improve dependency declarations for packages-info and other settings files 2017-02-15 15:27:05 -05:00
Oz Linden b6cdeb2271 MAINT-7130: suppress stdout from run_build_tests by
converting to logging so that stdout from its command can be captured
cleanly
Make the default be to not print anything
2017-02-15 13:00:20 -05:00
Oz Linden 83f2f43e36 convert run_build_tests to use argparse rather than optparse 2017-02-15 12:14:30 -05:00
Callum Linden df4957e398 Automated merge with head of lindenlab/nat_viewer64 2017-01-30 13:56:38 -08:00
Nat Goodspeed 75f54d5d53 DRTVWR-418: Merge from oz_viewer64 2017-01-30 11:55:28 -05:00
Callum Linden dcae92c0a3 First batch of changes to add LibVLC media plugin to macOS viewer. Plugin fails to start because of an as-yet undiagnosed issue with VLC plugin files related to their extyended attributes 2017-01-27 15:47:16 -08:00
Nat Goodspeed 1fe8d04a46 DRTVWR-418, MAINT-7038: Don't add double quotes to channel name.
The CMake directive that passes VIEWER_CHANNEL to the C++ compiler as
LL_VIEWER_CHANNEL was enclosing the VIEWER_CHANNEL value in double quotes. At
this point in history, those double quotes literally become part of the
LL_VIEWER_CHANNEL value, causing the viewer to construct a bad Viewer Version
Manager query containing those double quotes. Removing them fixes the query.
2017-01-05 18:49:56 -05:00
Nat Goodspeed eff6bbea59 DRTVWR-418: Emit less confusing error message when LL_BUILD not set.
When LL_BUILD is not in the environment at autobuild configure time, important
macros such as LL_WINDOWS aren't set. That means that platform-dependent
macros such as LL_TYPEOF() aren't defined, which can produce obscure errors
like this:

indra\llcommon\llunittype.h(51): error C2226: syntax error :
unexpected type 'S' (packages\llphysicsextensions\stub\LLPhysicsExtensionsStubImpl.cpp)
10>          indra\llcommon\llunittype.h(52) :
see reference to class template instantiation 'LLResultTypeAdd<S,T>' being compiled

Make the CMake logic fail with a more readily-understood error in that case.
2016-12-22 16:12:21 -05:00
Oz Linden be69197e0d merge changes from project trunk 2016-12-22 11:16:55 -05:00
Oz Linden 725ba32d08 don't add llcorehttp to all tests 2016-12-20 17:18:56 -05:00
Nat Goodspeed be3e3fca32 DRTVWR-418: Fix libhunspell references to reflect current package. 2016-12-20 15:05:02 -05:00
Nat Goodspeed f130b648b4 DRTVWR-418: Use $LL_BUILD to set most switches in 00-Common.cmake.
Going forward, the intention is to set in 00-Common.cmake only switches not
already set for ALL viewer-related libraries in
https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables.

To that end, remove all switches redundant with settings from that file.
Remove redundancies within 00-Common.cmake.
Remove cruft testing for gcc versions older than 4.3.
2016-12-19 18:55:31 -05:00
Nat Goodspeed aa5a591aa7 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2016-12-16 08:55:38 -05:00
Oz Linden 058ac4ba50 merge updates from nat 2016-12-16 08:18:08 -05:00
Nat Goodspeed 89cd49f60f DRTVWR-418: -Wl,-no_compact_unwind switch breaks exception catching!
In a clang 64-bit compile, with that switch set in CMAKE_CXX_LINK_FLAGS, we
cannot catch any user exception. This shows up right away because TUT relies
on internal exceptions to walk through test<n>() test methods, but of course
being unable to catch any exceptions in the viewer would be just as bad.

A quick Google search turned up lots of people mentioning -no_compact_unwind
without finding any documentation about what it's supposed to be good for. But
since no tests work with it, whereas they work without it -- kill it.
2016-12-15 16:41:30 -05:00
Nat Goodspeed 3b34cfd93a DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD. 2016-12-14 09:12:33 -05:00
Nat Goodspeed 45a32ed14d DRTVWR-418: Align minimum OS X version with viewer-build-variables. 2016-12-12 11:50:25 -05:00