Commit Graph

112 Commits

Author SHA1 Message Date
Henry Schreiner
e01f492462
fix: Add a nice CMake error when Interpreter component is missing. (#2519)
Closes #2515, found by @rhjdjong
2020-09-21 18:34:48 -04:00
Henry Schreiner
e37921d761
refactor: drop mkdoc and update changelog (#2491)
* refactor: drop mkdoc

* docs: update changelog
2020-09-16 17:14:06 -04:00
Henry Schreiner
fd61f5038e
feat: setup.py redesign and helpers (#2433)
* 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
2020-09-16 17:13:41 -04:00
Wenzel Jakob
36c666f027 pybind11_add_module(): OPT_SIZE target 2020-09-06 16:46:38 +02:00
Henry Schreiner
ce1a07ef45
fix: use classic extension handling unless otherwise requested (#2462)
* fix: use classic extension handling unless otherwise requested

* fix: variable must be cached to be used externally
2020-09-04 21:54:09 -04:00
Henry Schreiner
9b8cb02030
fix: respect PYTHON_VERSION if set in classic mode (#2414)
* fix: respect PYTHON_VERSION if set in classic mode

* fix: add warning when using PYTHON_VERSION
2020-08-26 09:07:30 -04:00
Henry Schreiner
c58f7b745b
fix: reduce target collision in add_submodule mode (#2423)
* fix: reduce target collision in add_submodule mode

Closes #2420

* fix: update CMakeLists.txt
2020-08-22 09:06:01 -04:00
Henry Schreiner
56df3c4649
fix: a couple more places where pybind11 is missing 11 (#2421) 2020-08-21 15:27:21 -04:00
Bjorn
d4d7ef5d27
Update pybind11Tools.cmake (#2419)
CPython configured with `--with-pydebug` could not use `pybind11_add_module`
2020-08-21 14:52:38 -04:00
Henry Schreiner
1729aae96f
feat: new FindPython support (#2370)
* 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
2020-08-19 12:26:26 -04:00
Henry Schreiner
0af7fe6c19
fix: typo in pybind11_add_module (#2374) 2020-08-08 17:34:38 -04:00
Henry Schreiner
227170dc2f fix: better handling of PYBIND11_CPP_STANDARD 2020-08-06 11:54:41 -04:00
Henry Schreiner
ed6de125c9 format: include .in files 2020-08-06 11:54:41 -04:00
Henry Schreiner
df115977df chore: cleanup 2020-08-06 11:54:41 -04:00
Henry Schreiner
b8047245bb
fix: uninstall cleanup (#2346) 2020-07-31 10:16:40 +02:00
Henry Schreiner
94db5c5ed1 format: apply cmake-format 2020-07-30 20:27:55 -04:00
Henry Schreiner
1b92cd1703 fix: address review points from @YannickJadoul 2020-07-30 20:27:55 -04:00
Henry Schreiner
6ec1775fff feat: drop CMake 3.6 and below, modernize CMake
fix: include PYTHON_IS_DEBUG
2020-07-30 20:27:55 -04:00
Henry Schreiner
1f53c373e4 fix: C++17 mode on Clang may error 2020-07-26 09:25:27 -04:00
tuxmaster5000
7e0a4fb7d0
Fix for #2168 (#2299) 2020-07-24 19:00:48 +02:00
Henry Schreiner
8b0ccf7657 style: adding pre-commit check-style.sh 2020-07-23 19:47:53 -04:00
Liam Keegan
c4fd1fd987
CMake improvement: support windows python on msys (#2312)
- look for windows python lib when using mingw & msys
  - if not found, then look for system python lib as before
2020-07-21 19:17:22 +02:00
Henry Schreiner
d8c7ee00a6
ci: GHA basic format & pre-commit (#2309) 2020-07-20 13:35:21 -04:00
Yannick Jadoul
964ab956e0
Fix DeprecationWarning about 'invalid escape sequence' in tools/docs Python scripts (#2281) 2020-07-10 16:30:44 +02:00
Nils Leif Fischer
141e8cc0af Fix uninitialized-variables cmake warnings 2020-07-01 00:19:25 +02:00
Takahiro Ishikawa
3618807dca Fix python.lib name
pybind11_add_module fails because FindPythonLibsNew.cmake try to link PythonXX.lib, but the first letter "p" should be lowercase.
2020-07-01 00:14:24 +02:00
MRocholl
b14aeb7cfa fix typo in sorted function call argument reverse 2020-04-26 09:29:29 +02:00
MRocholl
9358e30d2a change set_path to set_file 2020-04-26 09:29:29 +02:00
MRocholl
00c462d149 find library path to libclang.so via glob command in /usr/lib/llvm-* and set it 2020-04-26 09:29:29 +02:00
Axel Huebl
6ebfc4b2b0 Document CMAKE_CXX_STANDARD
This variable is a CMake community standard to set the C++
standard of a build. Document it in favor of the previous variable,
which stays as a legacy flag for existing projects.

https://cmake.org/cmake/help/v3.17/variable/CMAKE_CXX_STANDARD.html
2020-04-26 09:17:10 +02:00
Chuck Atkins
d730fbc0d5 Utilize CMake's language standards abstraction when possible 2020-04-26 09:17:10 +02:00
Wenzel Jakob
bb9c91cce8 pybind11Tools.cmake: search for Python 3.9 2020-03-04 16:17:20 +01:00
Baljak
4f72ef846f Fix the use of MSVC in an MSYS environment (#2087) 2020-01-22 11:49:56 +01:00
Baljak
07e2259322 Fix compilation with MinGW only (#2053) 2020-01-05 15:49:59 +01:00
Matthew Dawkins
6f11347a30 Prevent cmake error when prefix empty (#1986) 2019-11-14 08:53:06 +01:00
Axel Huebl
a6355b00f8 CMake: Add Python 3.8 to pybind11Tools (#1974)
Add Python 3.8 to considered versions in CMake for additional
hints.
https://cmake.org/cmake/help/v3.2/module/FindPythonLibs.html
2019-10-31 12:40:15 +01:00
Dmitry
8f5a8ab4ac Don't strip debug symbols in RelWithDebInfo mode (#1892) 2019-08-23 16:18:05 +02:00
Christoph Kahl
640b8fe6d9 fix #1406 add mingw compatibility (#1851) 2019-08-13 21:41:53 +02:00
Lori A. Burns
868d94fcb4 Apply c++ standard flag only to files of CXX language. (#1678) 2019-06-11 22:07:57 +02:00
Dan
41f29ccd9e Parse command-line args in a separate function. 2019-06-11 13:49:37 +02:00
Dan
e0b8bbbce9 Use a file-local constant for non-prefixing nodes. 2019-06-11 13:49:37 +02:00
Dan
2c8c5c4ed3 Split into seperate functions for easier invocation from python. 2019-06-11 13:49:37 +02:00
Dan
590e7acedf Avoid storing global state. 2019-06-11 13:49:37 +02:00
Dan
a163f8813e Delete partially-written file in the event of an error. 2019-06-11 13:49:37 +02:00
Dan
ede328a784 Allow writing output to file instead of stdout. 2019-06-11 13:49:37 +02:00
Dan
a33212df1f Wrap the main functionality of mkdoc in a function. 2019-06-11 13:49:37 +02:00
Dan
b46bb64d39 Allow user to override default values of -x and -std=. 2019-06-11 13:49:37 +02:00
Dan
4612db54ac Try to autodetect the location of the clang standard libraries.
On some linuxes, /usr/include belongs to GCC and the standard
libraries that work with clang are in /usr/lib/clang/8.0.0 or
some variation thereof.

This results in errors such as:

```
/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/cxxabi_init_exception.h:38:10: fatal error: 'stddef.h' file not found

```

during extraction.
2019-06-11 13:49:37 +02:00
Dan
a175b21e4b Avoid decoding already-decoded strings from cindex.
Recent versions of clang.cindex include [code][1] that converts
the internal byte strings to python str for you.

  [1]: https://github.com/llvm-mirror/clang/blob/master/bindings/python/clang/cindex.py#L72
2019-06-11 13:49:37 +02:00
Jamie Snape
a0b8f70df4 Ensure PythonLibsNew_FOUND is set in FindPythonLibsNew module (#1373)
Since the module is named FindPythonLibsNew, PythonLibsNew_FOUND should be set appropriately.
2019-05-12 19:43:44 +02:00