This allows to move the check to one place and optionally override it if needed (e.g. for unknown or unsupported systems). Suggested by Esteban.
Particularly, avoid hard-to-keep-exhaustive #ifdef list when a single #ifndef would do and use #else; gain initial knowledge of the FreeBSD.
Using $ORIGIN allows an application to locate its private libraries via relative expression, to produce fully relocatable packages. $ORIGIN is typically supported on Unix-like systems, e.g. GNU/Linux, Solaris, *BSD. Instead of checking that CMAKE_SYSTEM_NAME == "Linux", use CMake's own logic to decide if target platform supports $ORIGIN. Unfortunately, we cannot use "if (UNIX)" alone because UNIX is TRUE on all Unix-like OS's, including Apple OS X, and unlike other Unices, the Darwin linker, dyld, locates dependent dynamic libraries using the full path to each dylib. WIN32 is TRUE on Windows, including Cygwin -- but Cygwin is also a Unix.
- Cleanup SSS tests.
Clang (at least on FreeBSD) might masquerade itself as GCC 4.2.1 for compatibility reasons, which results in wrong compiler and version reported in the "About" dialog box. Mend this by checking for Clang first, then fallback to GCC checks.
Add missing namespace specifiers (boost::) when name resolution can be ambiguous (it is already done for shared_ptr's). Modern C++ standard libraries typically would implement mutex and thread types, which will conflict with the ones from Boost. This is required for the upcoming FreeBSD support. This change has no impact on GCC (verified for versions 4.7.4, 4.8.5, and 4.9-20150819) and early versions of Clang (3.3.0).
We should not attempt to build or use renderer::DisneyMaterial or any other Disney-related class if APPLESEED_WITH_DISNEY_MATERIAL is not defined; put missing #ifdef's where they're due.
the root of the issue of course is that we don't have a long double version of foundation::Pi (and neither do we want one).
…ttering events (no MIS).