Fix compilation when using CMake 3.26.1 and pybind11 2.4.3 (for example on Ubuntu 20.04 GitHub Actions image) #643
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #636 .
This PR fixes an issue when using CMake 3.26.1 (so a quite recent CMake) with pybind11 2.4.3 (quite an old version).
Basically, the problem is that the old version of pybind11 explicitly sets
-std=c++14
as compilation option, and this overrides the-std=c++17
option that should be used instead (see https://github.com/pybind/pybind11/blob/v2.4.3/tools/pybind11Tools.cmake#L21 and https://github.com/pybind/pybind11/blob/v2.4.3/tools/pybind11Tools.cmake#L21). By explicitingly setting theCMAKE_CXX_STANDARD
option, we make sure that pybind11 does not set any additional option.