Commit Graph

107 Commits

Author SHA1 Message Date
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
Rune Paamand
06d021b6e4 Issue #1532: Incompatible config options, /MP vs /Gm for MSVC in DEBUG (#1533)
* Issue #1532: Incompatible config options, /MP vs /Gm for MSVC in DEBUG
2018-10-25 01:35:33 +02:00
Ryota Suzuki
1377fbf73c Fix unintentional escaping of character on Windows (#1574) (#1575) 2018-10-24 11:18:04 +02:00
Davis E. King
9343e68b46 Fix cmake scripts so projects using CUDA .cu files build correctly. (#1441) 2018-09-14 14:28:54 +02:00
Axel Huebl
435dbdd114 add_module: allow include as SYSTEM (#1416)
pybind11 headers passed via the `pybind11_add_module` CMake
function can now be included as `SYSTEM` includes (`-isystem`).

This allows to set stricter (or experimental) warnings in
calling projects that might throw otherwise in headers
a user of pybind11 can not influence.
2018-08-29 13:20:11 +02:00
Axel Huebl
3a94561c4d Debug Builds: -DPy_DEBUG (#1438)
builds against a python debug library were unreliable and
could lead to symbol errors during linking.

Setting the `Py_DEBUG` define is necessary when linking
against a debug build:

https://stackoverflow.com/questions/39161202/how-to-work-around-missing-pymodule-create2-in-amd64-win-python35-d-lib

https://docs.python.org/2/c-api/intro.html#debugging-builds

https://docs.python.org/3.6/c-api/intro.html#debugging-builds
2018-08-29 13:18:43 +02:00