Commit Graph

6 Commits

Author SHA1 Message Date
Pär Winzell 0ba34ee7f5 settings.libcxx -> settings.compiler.libcxx 2019-05-11 16:38:29 -07:00
Pär Winzell 80e4a96d9b Constrain our GCC build tweak to GCC.
Only for GCC (5.*) is it necessary to instruct the compiler to avoid
falling back on a very old libstd ABI.
2019-05-11 15:08:35 -07:00
Par Winzell ed43cacb33 Ensure Conan downloads modern binaries.
On a system with GCC 5.* Conan will conservatively choose 'libstdc++'
over 'libstdc++11' for compiler.libcxx, and then proceed to download
libraries compiled with the older ABI.

Meanwhile, though, our own CMake setup dictates the use of the modern
ABI, and the result is an application binary with ABI mismatches that
yield SIGSEGVs almost immediately.

Here, we guard against erronous invocations, and gently push the user
towards sending in the right explicit override for their system.
2019-05-07 13:15:54 -07:00
Par Winzell 33ef6fef2e We now have a good FBXSDK_SDKS default. 2019-05-05 22:18:08 -07:00
Par Winzell 366e904b70 FB Copyright compliance. 2019-04-22 08:45:05 -07:00
Pär Winzell 7dd8438c78
Embrace Conan, use it to grab boost::filesystem. (#180)
With this, we are able to get rid of all the increasingly broken file
system utility code, and trust boost::filesystem to handle all the
cross-platform complexity.

The first version of this PR centred around C++17 & std::filesystem,
but support remains too elusive; it seems works out of the box in
Visual Studio (especially 2019), but is entirely missing from the Mac
dclang, and even with GCC 8.0 it requires an explicit '-l c++fs'.

Luckily the std:: version is almost exactly the boost:: version (not
surprising) so when the world's caught up, we can ditch Boost and go
all stdlib.

Setting up Conan requires a bit of work; we'll want to document the
details in the README.
2019-04-19 23:54:11 -07:00