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 FindPythonLibsNewPYBIND11_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>
Those workarounds were probably necessary only due to the build system issue fixed with openPMD#1684, so we should try removing them again.
* Remove venv Python workarounds in our CI workflows Those workarounds were probably necessary only due to the build system issue fixed with #1684, so we should try removing them again. * Use correct Python versions
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)