summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
2018-05-30remove unused UNATTENDED cmake variable that generates warningsOz Linden
2018-05-25SL-821: export BUGSPLAT_DB when loaded so child processes can detect.Nat Goodspeed
Produce CMake message when BugSplat is engaged so we can detect in build log. Don't try to copy BugSplat DLLs when NOT engaged.
2018-05-25SL-821, SL-826: Use BUGSPLAT_DB from environment on Windows and Mac.Nat Goodspeed
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.
2018-05-17SL-821: Move Windows BugSplat engagement from llcommon to newview.Nat Goodspeed
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.
2018-04-12Automated merge with tip of viewer-release after Viewer Media Update releasecallum_linden
2018-01-18correct 64bit vivox dll namesOz Linden
2018-01-18more places where vivox names must be conditional on address sizeOz Linden
2018-01-17merge 5.1.0-releaseOz Linden
2017-11-30Automated erge with tip of viewer64callum_linden
2017-10-24MAINT-7081: Mention libnghttp2*.dylib in yet another place.Nat Goodspeed
2017-10-23Missed a place in the Copy3rdPartyLibs.cmake file (thank Windows Find) that ↵callum_linden
needs to differentiate between 32 and 64 bit Windows builds
2017-10-19Differentiate between 32/64 bit windows builds for build systewm (BugsSplat ↵callum_linden
enforces specifc names that vary across bitness)
2017-10-18First version that builds with a dummy BugSplay call in llapp.cppcallum_linden
2017-09-29MAINT-7081: Mention nghttp2.dll where it must be mentioned.Nat Goodspeed
2017-09-29MAINT-2081: Remove ancient snapshot of CMake GetPrerequisites.Nat Goodspeed
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-27MAINT-7081: Mention nghttp2 library wherever it must be mentioned.Nat Goodspeed
2017-09-19DRTVWR-418: Another attempt to generate Mac debug symbols.Nat Goodspeed
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-06-19update viewer-manager, primarily to solve Mac packaging problemOz Linden
2017-06-14SL-700: temporarily use local version of ca-bundle.crt instead of from ↵Glenn Glazer
voice, misc cleanup
2017-05-17update vmp package to 505332Glenn Glazer
2017-05-12pull from v64 gateGlenn Glazer
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-05pull from gatecoyot@coyot-sager-PC.hsd1.ca.comcast.net
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-04-07MAINT-7282: add requests module and associated build machineryGlenn Glazer
2017-04-06SL-321: add Requests lib cmake fileGlenn Glazer
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.