Pārlūkot izejas kodu

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.
Par Winzell 6 gadi atpakaļ
vecāks
revīzija
ed43cacb33
1 mainītis faili ar 4 papildinājumiem un 0 dzēšanām
  1. 4 0
      conanfile.py

+ 4 - 0
conanfile.py

@@ -12,6 +12,10 @@ class FBX2glTFConan(ConanFile):
                 ("fmt/5.3.0@bincrafters/stable"))
     generators = "cmake_find_package", "cmake_paths"
 
+    def configure(self):
+        if self.settings.compiler.libcxx == "libstdc++":
+            raise Exception("Rerun 'conan install' with argument: '-s compiler.libcxx=libstdc++11'")
+
     def build(self):
         cmake = CMake(self)
         cmake.definitions["FBXSDK_SDKS"] = os.getenv('FBXSDK_SDKS', 'sdk')