summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
2017-05-09DRTVWR-418: Set -std=c++14 for Mac even before viewer-build-variables.Nat Goodspeed
2017-05-08Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-08DRTVWR-418: Fix -std=c++11 llinstancetracker_test crash.Nat Goodspeed
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-04Expand the way we set C++ flags in cmake to call out each build type explicitlyCallum Prentice
2017-05-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-03DRTVWR-418: Silence some Mac build warnings.Nat Goodspeed
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-02Automated merge with head of lindenlab/viewer64callum@lindenlab.com
2017-05-01Fix MAINT-7360 Investigate removal of MSVCR100.DLL and MSVCP100.DLLCallum Prentice
2017-04-26Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-03-27Fix for MAINT-7131 Unable to start the x64 Viewer on Windows 8.1 x64. This ↵Callum Prentice
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-14Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-03-06Automated merge with tip of lindenlab/viewer64callum@lindenlab.com
2017-02-22correct merge error in BuildVersion.cmakeOz Linden
2017-02-22use AUTOBUILD_BUILD_ID value for revision if available (requires autobuild ↵Oz Linden
1.1.4)
2017-02-21First round of changes to replace LLCEFLib with Dullahan. Mostly Windows ↵Callum Prentice
changes in this batch since I'm working on Windows box but some speculative macOS ones too although they are quite untested
2017-02-21DRTVWR-418: In viewer64-mac-havok fork, turn on Xcode 8 Havok.Nat Goodspeed
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-17DRTVWR-418: Fix CMake syntax for Havok.cmake refactoring.Nat Goodspeed
2017-02-17DRTVWR-418: Attempt to make sense of Havok.cmake Linux logic.Nat Goodspeed
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-15improve dependency declarations for packages-info and other settings filesOz Linden
2017-02-15MAINT-7130: suppress stdout from run_build_tests byOz Linden
converting to logging so that stdout from its command can be captured cleanly Make the default be to not print anything
2017-02-15convert run_build_tests to use argparse rather than optparseOz Linden
2017-01-30Automated merge with head of lindenlab/nat_viewer64Callum Linden
2017-01-30DRTVWR-418: Merge from oz_viewer64Nat Goodspeed
2017-01-27First batch of changes to add LibVLC media plugin to macOS viewer. Plugin ↵Callum Linden
fails to start because of an as-yet undiagnosed issue with VLC plugin files related to their extyended attributes
2017-01-05DRTVWR-418, MAINT-7038: Don't add double quotes to channel name.Nat Goodspeed
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.
2016-12-22DRTVWR-418: Emit less confusing error message when LL_BUILD not set.Nat Goodspeed
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-22merge changes from project trunkOz Linden
2016-12-20don't add llcorehttp to all testsOz Linden
2016-12-20DRTVWR-418: Fix libhunspell references to reflect current package.Nat Goodspeed
2016-12-19DRTVWR-418: Use $LL_BUILD to set most switches in 00-Common.cmake.Nat Goodspeed
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-16Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2016-12-16merge updates from natOz Linden
2016-12-15DRTVWR-418: -Wl,-no_compact_unwind switch breaks exception catching!Nat Goodspeed
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-14DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD.Nat Goodspeed
2016-12-12DRTVWR-418: Align minimum OS X version with viewer-build-variables.Nat Goodspeed
2016-12-10DRTVWR-418: Update some copy commands for 3p library versions.Nat Goodspeed
2016-12-09move some cmake messages that are not warnings from stderr to stdoutOz Linden
2016-12-07Automated merge with tip of lindenlab/oz_viewer64Callum Prentice
2016-12-06merge fix for test runner failureOz Linden
2016-12-06Merge with fix to run packages-formatterCallum Prentice
2016-12-06DRTVWR-418: Run packages-formatter via Python interpreter for Windows.Nat Goodspeed
2016-12-06merge changes for latest fixes from natOz Linden
2016-12-06DRTVWR-418: Set AUTOBUILD_ADDRSIZE for packages-formatter.py.Nat Goodspeed
This handles the case of building within an IDE, in which AUTOBUILD_ADDRSIZE isn't already set.
2016-12-05update copying of fmodex{64}.dll to right place for 32/64 bit buildsCallum Prentice
2016-12-05suppress VS linker warning about unfound pdb filesOz Linden
2016-12-02add viewer channel and version to the beginning of the About box Licenses ↵Oz Linden
information
2016-11-28DRTVWR-418: Revert one more openjp2.dll reference to openjpeg.dll.Nat Goodspeed
2016-11-22DRTVWR-418: Use correct spelling for glh_linear package.Nat Goodspeed
2016-11-19DRTVWR-418: Change to libc++ on Mac, remove reminder warning.Nat Goodspeed
2016-11-17DRTVWR-418: Add warning about changing to libc++ on Mac.Nat Goodspeed