mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-16 10:42:25 +01:00
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).
This commit is contained in:
parent
53ddf37af4
commit
8e80b8f22c
@ -19,6 +19,7 @@ class CatchConan(ConanFile):
|
|||||||
license = "BSL-1.0"
|
license = "BSL-1.0"
|
||||||
version = "latest"
|
version = "latest"
|
||||||
settings = "os", "compiler", "build_type", "arch"
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
extension_properties = {"compatibility_cppstd": False}
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
"shared": [True, False],
|
"shared": [True, False],
|
||||||
|
Loading…
Reference in New Issue
Block a user