- 24 Sep, 2021 1 commit
-
-
Wenzel Jakob authored
The new FindPython-based variant of the CMake scripts caches information about the chosen Python version that can become stale. For example, suppose I configure a simple pybind11-based project as follows ``` cmake -S . -B build -GNinja -DPython_ROOT=<path to python 3.8> ``` which will generate `my_extension.cpython-38-x86_64-linux-gnu.so`. A subsequent change to the python version like ``` cmake -S . -B build -GNinja -DPython_ROOT=<path to python 3.9> ``` does not update all necessary build system information. In particular, the compiled file is still called `my_extension.cpython-38-x86_64-linux-gnu.so`. This commit fixes the problem by detecting changes in `Python_EXECUTABLE` and re-running Python as needed. Note that the previous way of detecting Python does not seem to be affected, it always specifies the right suffix.
-
- 06 Apr, 2021 1 commit
-
-
Weiming Zhao authored
-
- 19 Jan, 2021 1 commit
-
-
Henry Schreiner authored
* style: avoid using unintialized variables Tested with cmake --warn-unintialized -S . -B build * refactor: use function for possibly uninit vars
-
- 14 Jan, 2021 2 commits
-
-
heyer2 authored
* Fix STATIC and SHARED flags not being detected * fix: use classic naming for all lib types Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
Henry Schreiner authored
Sometimes programmers want to control this, and while it can be changed after the fact, it's commonly set via a CMAKE_ variable; if that variable is set, we should respect that (like the CMAKE_INTERPROCEDURAL_OPTIMIZATION setting).
-
- 16 Dec, 2020 1 commit
-
-
Henry Schreiner authored
* fix: regression with installed pybind11 overriding discovered one Closes #2709 * docs: wording incorrect
-
- 15 Nov, 2020 1 commit
-
-
Frank authored
-
- 05 Nov, 2020 1 commit
-
-
Henry Schreiner authored
* fix: match new extension discovery with changes to classic discovery Followup to #2638 - this was fixed in 2.6.0, but only for classic Python * fix: followup to avoid warnings
-
- 03 Nov, 2020 1 commit
-
-
Henry Schreiner authored
-
- 09 Oct, 2020 1 commit
-
-
Henry Schreiner authored
-
- 05 Oct, 2020 1 commit
-
-
Henry Schreiner authored
* fix: find_import didn't work properly for classic tools * ci: fix all files not being checked in style run
-
- 30 Sep, 2020 1 commit
-
-
Wenzel Jakob authored
On very incomplete python installations (e.g. within Docker), it's possible that distutils is not installed. In that case, the ``execute_command`` statement that queries distutils for the Python module extension fails, and pybind11 uses the empty string. This commit adds an extra check that causes a CMake failure with more actionable information (just spent a lot of time trying to track down this problem :))
-
- 21 Sep, 2020 1 commit
-
-
Henry Schreiner authored
Closes #2515, found by @rhjdjong
-
- 16 Sep, 2020 1 commit
-
-
Henry Schreiner authored
* feat: setup.py redesign and helpers * refactor: simpler design with two outputs * refactor: helper file update and Windows support * fix: review points from @YannickJadoul * refactor: fixes to naming and more docs * feat: more customization points * feat: add entry point pybind11-config * refactor: Try Extension-focused method * refactor: rename alt/inplace to global * fix: allow usage with git modules, better docs * feat: global as an extra (@YannickJadoul's suggestion) * feat: single version location * fix: remove the requirement that setuptools must be imported first * fix: some review points from @wjacob * fix: use .in, add procedure to docs * refactor: avoid monkeypatch copy * docs: minor typos corrected * fix: minor points from @YannickJadoul * fix: typo on Windows C++ mode * fix: MSVC 15 update 3+ have c++14 flag See <https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019> * docs: discuss making SDists by hand * ci: use pep517.build instead of manual setup.py * refactor: more comments from @YannickJadoul * docs: updates from @ktbarrett * fix: change to newly recommended tool instead of pep517.build This was intended as a proof of concept; build seems to be the correct replacement. See https://github.com/pypa/pep517/pull/83 * docs: updates from @wjakob * refactor: dual version locations * docs: typo spotted by @wjakob
-
- 06 Sep, 2020 1 commit
-
-
Wenzel Jakob authored
-
- 05 Sep, 2020 1 commit
-
-
Henry Schreiner authored
* fix: use classic extension handling unless otherwise requested * fix: variable must be cached to be used externally
-
- 21 Aug, 2020 1 commit
-
-
Henry Schreiner authored
-
- 19 Aug, 2020 1 commit
-
-
Henry Schreiner authored
* feat: FindPython support * refactor: rename to PYBIND11_FINDPYTHON * docs: Caps fixes * feat: NOPYTHON mode * test: check simple call * docs: add changelog/upgrade guide * feat: Support Python3 and Python2 * refactor: Use targets in tests * fix: support CMake 3.4+ * feat: classic search also finds virtual environments * docs: some updates from @wjakob's review * fix: wrong name for QUIET mode variable, reported by @skoslowski * refactor: cleaner output messaging * fix: support debug Python's in FindPython mode too * fixup! refactor: cleaner output messaging * fix: missing pybind11_FOUND and pybind11_INCLUDE_DIR restored to subdir mode * fix: nicer reporting of Python / PyPy * fix: out-of-order variable fix * docs: minor last-minute cleanup
-