-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PYBIND11_FINDPYTHON=ON
#1684
PYBIND11_FINDPYTHON=ON
#1684
Conversation
Should we add this logic to our superbuilds in CMake? Set |
Possibly, yes! We should set the executable that was found here: So a simple set(PYTHON_EXECUTABLE ${Python_EXECUTABLE}) might make it already more robust. |
setup.py
: Hint pybind11 FindPythonLibsNew
PYBIND11_FINDPYTHON=ON
4be17cc
to
e8c6f5c
Compare
Ok, so if we set Then pybind11 will call Well, not obvious from the docs, but ok. |
e8c6f5c
to
9bc591f
Compare
MSVC: calling # python3.exe is c:\hostedtoolcache\windows\python\3.9.13\x64\python3.exe
$ python3.exe -m pip wheel -v .
...
-- Found Python: C:/hostedtoolcache/windows/Python/3.12.7/x64/python3.exe (found suitable version "3.12.7", minimum required is "3.7.0") found components: Interpreter Development.Module
... Which hints do we want to set in MSVC: NumPy requires newer Python:
|
de3b2a5
to
7c0972a
Compare
Found a way to hint location and, if multiple versions are installed, version: |
7c0972a
to
4ce16ce
Compare
Reuse our `find_package(Python ...)` call and use new CMake logic in pybind11. https://pybind11.readthedocs.io/en/stable/compiling.html#modules-with-cmake https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-version-selection Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja>
4ce16ce
to
22c34fc
Compare
Ok, that should do the trick :) |
Equivalent PRs to:
all pass :) |
Reuse our `find_package(Python ...)` call and use new CMake logic in pybind11. https://pybind11.readthedocs.io/en/stable/compiling.html#modules-with-cmake https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-version-selection Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja>
* Release: 0.16.1 Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> * Fix new_version.py * Update version in windows.yml * Reformat with yapf3 * Fix greedy Regex parsing * Changelog: Add PRs #1681 #1679 #1678 * Fix: CMake Internal Control (#1678) The `openPMD_USE_INTERNAL_*` options are for general internal/external control. They were accidentally overwritten by new tar flags and sometimes incomplete. Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> * Revert "CMake Tar: TOML11 3.7.1 (#1673)" (#1679) This reverts commit aea4b72. * Replace deprecated makeSuite with loadTestsFromTestCase (#1681) Removed with Python 3.13 * Doc: Fix Shipped Internally (#1682) Downloaded now. Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> * `PYBIND11_FINDPYTHON=ON` (#1684) Reuse our `find_package(Python ...)` call and use new CMake logic in pybind11. https://pybind11.readthedocs.io/en/stable/compiling.html#modules-with-cmake https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-version-selection Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> * Fix ICX build (#1690) Error was: /home/runner/work/openPMD-api/openPMD-api/include/openPMD/backend/Container.hpp:262:32: error: no member named 'm_container' in 'Container<T, T_key, T_container>' 262 | container().swap(other.m_container); * Fix Leftover ADIOS1 Mentions (#1683) * Fix Leftover ADIOS1 Mentions Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> * Remove ADIOS1 from examples --------- Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Franz Pöschel <franz.poeschel@gmail.com> * Explicitly specify ADIOS2 components in openPMDConfig.cmake (#1693) * Explicitly specify ADIOS2 components in openPMDConfig.cmake When including openPMD in downstream CMake and that CMake script contains Fortran, ADIOS2 will automatically detect that. But since we do not reexport the ADIOS2 headers, we only need the components that openPMD explicitly uses: CXX and MPI. * Same in CMakeLists.txt * Remove mpirun_workaround.sh (#1698) Seems to no longer be necessary in the affected CI runs * Properly check for empty HDF5_VERSION in CMake (#1702) The old test apparently invoked some weird CMake legacy behavior. This should make the pinned HDF5 Conda version unnecessary (#1701) since the version with missing HDF5_VERSION is correctly dealt with. * HDF5: Delete and re-create attribute when overwriting with diff. type (#1697) * HDF5: Delete and re-create attribute when overwriting with diff. type * WIP: Change datatype in test Somehow truncation test is broken by this * Add forgotten H5Aclose() call * TOUCH IOTask: Avoid setting files as dirty in non-write modes (#1704) * Bugfix: Consider dirty upon touch() only in write modes * Add error check to avoid writing in read-only mode * Changelog * Use ULONG for particle patches * Upgrade appleclang14 build to MacOS 13 > The macOS-12 environment is deprecated, consider switching to macOS-13, macOS-14 (macos-latest) or macOS-15. For more details, see actions/runner-images#10721 * Update Changelog * Release Date --------- Signed-off-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Franz Pöschel <franz.poeschel@gmail.com>
Reuse our
find_package(Python ...)
call and use new CMake logic in pybind11.https://pybind11.readthedocs.io/en/stable/compiling.html#modules-with-cmake
https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-version-selection
Fix #1677 (comment)