[ESI] Always find_package Python3 Development #8778
Merged
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.
AFAICT, pybind11 v. 3.0.0 (release 2 weeks ago) changed a bit how modules are being defined. A result of that is that it's not sufficient to just look for
Python3_FOUND, since pybind module definition will fail inside the pybind CMake files if theDevelopmentcomponent hasn't been enabled.That can occur when e.g. building the ESI runtime alongside the rest of CIRCT, if python bindings are not enabled. In that case here in the top-level CMakeLists, we don't look for the Python3
Developmentcomponent, which then triggers the issue. I'm a bit surprised that this isn't done inside the pybind11 cmake files (i.e. ensuring thatDevelopmentis present), but oh well... the problem is fixed by alwaysfind_package'ing for bothInterpreterandDevelopmentin the ESI runtime CMakeLists.txt.Also sneaks in a .gitignore for the
ESI/runtimelibrary, to better support in-tree builds of just the runtime.