summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
2018-12-08SL-10153: Add ole32 to WINDOWS_LIBRARIES so it's everywhere we need.Nat Goodspeed
2018-10-17Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidonNat Goodspeed
2018-09-24DRTVWR-474: Remove Python autobuild packages and references to them.Nat Goodspeed
We expect the viewer-manager package to be self-contained: we expect it to bring with it any Python packages it requires. We no longer force developers to wrap third-party Python packages as autobuild packages.
2018-09-07remove only-partially-successful attempt to put teamcity blocks around targetsOz Linden
2018-09-07refine TeamCity blocks to avoid double nesting, and disableOz Linden
for Windows
2018-09-05add more block structure to TeamCity log output for componentsOz Linden
2018-08-27SL-957: Explicitly pass VIEWER_SYMBOL_FILE from build.sh into CMakeNat Goodspeed
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.
2018-08-24DRTVWR-447: Introduce explicit CMake BUGSPLAT_DB variable.Nat Goodspeed
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'].
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.