To use ld.gold configure with:
-DCMAKE_EXE_LINKER_FLAGS:STRING="-Wl,-use-gold".
ld.gold links the viewer on my machine in 8 seconds, as
opposed to 19 seconds with ld.bfd. Moreover, it uses a
LOT less memory during linking (about 750 MB instead of
2.5 GB!).
VWR-24254: Don't link with fontconfig on non-linux.
While we already added fontconfig in the above patch,
that code turned out to also be used by Windows and
Darwin (contrary to the comments in the code).
After looking at the history of commits and a
discussion on IRC it was decided that the original
coder (Kyle Ambroff <ambroff@lindenlab.com>) really
meant (LINUX AND VIEWER) instead of (NOT LINUX OR VIEWER).
If tut/tut.hpp isn't installed in a standard include directory all tests
fail because the found include directory for tut isn't passed to the compiler.
This patch fixes this by passing it.
Note that using include_directories() in a Find*.cmake file is bad practise.
The correct way is to set an include dir variable and call
include_directories() once. It certainly doesn't work for the tests anyway
because the tests are all over the place and include_directories is on a
per folder basis. What is needed is to set it for each (test) target.
However, there is no TARGET_INCLUDE_DIRECTORIES. The closest thing that we
have is to set the COMPILE_FLAGS property for a target.
Fortunately, standalone is only used for linux, so we can just use
-I${TUT_INCLUDE_DIR} to get the effect we want.
The old one just assumed that libndof is installed,
even on standalone.
This patch looks for it on standalone, unless configured
with -DNDOF:BOOL=OFF, and when not found prints an error
message (including telling about -DNDOF:BOOL=OFF).
SNOW-240 was actually about adding the whole search.
While this has been done, there is one issue left:
On linux (and remember, all of this is about standalone)
the libjson packages of distributions don't have this
complex compiler version baked into their name.
See also the last comment on SNOW-240:
https://jira.secondlife.com/browse/SNOW-240?focusedCommentId=205305&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-205305
This patch fixes this issue by first searching for
libjson_linux-gcc-${_gcc_COMPILER_VERSION}_libmt.so
and when that fails search for the system package
library file libjson.so.