Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVincent Saulue-Laborde2024-04-17 21:26:13 +0200
committerMartin Hořeňovský2024-04-18 21:47:12 +0200
commit8e80b8f22c186e2bb6bf900b4ab7a479f3943d95 (patch)
tree07a9018cf7d3c03445bf477db2174d2bb013d9f7
parent53ddf37af4488cac7724761858ae3cca9d2d65e7 (diff)
downloadcatch3-8e80b8f22c186e2bb6bf900b4ab7a479f3943d95.tar.gz
conanfile: set compatibility_cppstr = False.
The Catch libraries have different API/ABI depending on the c++ standard they are compiled with. For example, the following function isn't in the binary when compiled with C++14, only with C++17 or later: StringMaker<std::string_view>::convert(std::string_view str); By default, Conan is allowed to serve Catch libraries compiled in C++14 into a project using C++17/20, potentially causing linker errors because of missing symbols. This PR overrides this default behaviour: the C++ standard of the Catch library will exactly match the one of the requiring project (building Catch from source if necessary).
-rwxr-xr-xconanfile.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/conanfile.py b/conanfile.py
index 8f45b8a9..bcdd426f 100755
--- a/conanfile.py
+++ b/conanfile.py
@@ -19,6 +19,7 @@ class CatchConan(ConanFile):
license = "BSL-1.0"
version = "latest"
settings = "os", "compiler", "build_type", "arch"
+ extension_properties = {"compatibility_cppstd": False}
options = {
"shared": [True, False],