Specify all of msvcp$VER.dll, msvcr$VER.dll and vcruntime$VER.dll -- but check
each of them individually, because any given VS release has only a subset of
those. Add messaging to clarify what we're doing.
Introduce to_staging_dirs CMake macro to cut down on redundant boilerplate:
the idiom in which we use copy_if_different twice, once to the Release staging
directory and once to the RelWithDebInfo staging directory, each time
appending the target pathnames to third_party_targets. Replace that idiom with
calls to to_staging_dirs.
Evidently, with VS 2017, what would have been msvcr140.dll has become
vcruntime140.dll instead. msvcr140.dll is no longer a good sample DLL for
which to search.
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'].
The .dylib files in the Linux Vivox package were erroneous to start with;
while the affected changeset bypassed copy errors, it too was wrong. Now that
the Linux Vivox package contains Linux .so files, revert to the correct
filenames to copy.
Updating SDL to 290561, c-ares to 290399, Boost to 290566, colladadom
to 290576, curl to 290567, fontconfig to 290569, freetype to 290557,
google-mock to 290574, libpng to 290558, libxml2 to 290562, llqtwebkit
to 290578, openssl to 290560, PCRE to 290406, zlib to 290556. Document
compiling and linking in new 00-COMPILE-LINK-RUN.txt in indra/cmake. It
is the README for the building process based on things learned during
this library project. Switch building process back to style used for
new llqtwebkit2 repo. This builds shared libraries for Qt4 products
on all platforms using current build machines and TC task templates.
All platforms are building. All have comparable FPS rates. Builds are
getting quieter. Forward, comrades!
colladadom to 290229, curl to 290186, fontconfig to 290258, freetype to 290255,
google-mock/gmock/gtest to 290199, libpng to 290081, libxml2 to 290157,
llqtwebkit to 290262/250147 (to be fixed shortly), openssl to 290083,
pcre to 290150, zlib to 290080. The freetype2 headers are now normalized
to what they would normally be on a unix-type system. Libxml2 and
pcre are available on all platforms. Libraries generally move in the
direction of static archives rather than shared libraries (e.g. openssl).
The llqtwebkit side is a step back from the more ambitious goal. What
will be used (290262) will be a simple rebuild of the existing 4.7.1
library with updated package dependencies. The bigger work will be in
the future.
Update library dependencies to reference builds using new templates and
modern build hosts for: SDL, c-ares, boost, curl, libpng, llqtwebkit2,
openssl and zlib. Update manifest, library copying and 'test_apps' setup
to reflect that zlib and openssl are now always static (on Mac and
Linux). Viewer and test_apps now functional on 10.7 Mac.
Part of the switchover to dynamic Qt4. This mostly completes the
Mac side. Webkit is functional on Mac, plugins work. The two
test programs, llfbconnectest and llplugintest, need a little
more work to run without manual fixup ('.' on PATH and maybe a
symlink to libz.1.dylib and they run and function on Mac). Also
need to address libz.dylib vs libz.a. Currently resolving against
dylib which is not what I want.