- 14 Feb, 2017 3 commits
-
-
Dean Moldovan authored
-
Jason Rhinelander authored
This both lets us not bother rechecking LTO flags when cmake reinvokes itself, and also lets the cmake invoker override to specify custom or no LTO flags by setting the cache variable with -DPYBIND11_LTO_CXX_FLAGS= when invoking cmake.
-
Jason Rhinelander authored
Clang on linux currently fails to run cmake: $ CC=clang CXX=clang++ cmake .. ... -- Configuring done CMake Error at tools/pybind11Tools.cmake:135 (target_compile_options): Error evaluating generator expression: $<:-flto> Expression did not evaluate to a known generator expression Call Stack (most recent call first): tests/CMakeLists.txt:68 (pybind11_add_module) But investigating this led to various other -flto detection problems; this commit thus overhauls LTO flag detection: - -flto needs to be passed to the linker as well - Also compile with -fno-fat-lto-objects under GCC - Pass the equivalent flags to MSVC - Enable LTO flags for via generator expressions (for non-debug builds only), so that multi-config builds (like on Windows) still work properly. This seems reasonable, however, even on single-config builds (and simplifies the cmake code a bit). - clang's lto linker plugins don't accept '-Os', so replace it with '-O3' when doing a MINSIZEREL build - Enable trying ThinLTO by default for test suite (only affects clang) - Match Clang$ rather than ^Clang$ because, for cmake with 3.0+ policies in effect, the compiler ID will be AppleClang on macOS.
-
- 13 Jan, 2017 1 commit
-
-
Lori A. Burns authored
-
- 06 Jan, 2017 2 commits
-
-
Dean Moldovan authored
This way a non-CACHE variable can also be used. For example: ``` set(PYBIND11_PYTHON_VERSION <value>) add_subdirectory(...) ```
-
Wenzel Jakob authored
-
- 19 Dec, 2016 3 commits
-
-
Dean Moldovan authored
Makes room for an eventual pybind11::embedded target.
-
Dean Moldovan authored
See the documentation for a description of the options.
-
Dean Moldovan authored
Add a BUILD_INTERFACE and a pybind11::pybind11 alias for the interface library to match the installed target. Add new cmake tests for add_subdirectory and consolidates the .cpp and .py files needed for the cmake build tests: Before: tests |-- test_installed_module | |-- CMakeLists.txt | |-- main.cpp | \-- test.py \-- test_installed_target |-- CMakeLists.txt |-- main.cpp \-- test.py After: tests \-- test_cmake_build |-- installed_module/CMakeLists.txt |-- installed_target/CMakeLists.txt |-- subdirectory_module/CMakeLists.txt |-- subdirectory_target/CMakeLists.txt |-- main.cpp \-- test.py
-
- 13 Dec, 2016 2 commits
-
-
Lori A. Burns authored
-
Lori A. Burns authored
-
- 12 Dec, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 22 Nov, 2016 1 commit
-
-
Jason Rhinelander authored
* Use LIBDIR and MULTIARCH on linux to find python library * Remove apple-specific setting; the non-windows one should work fine on OS X * Default LIBDIR/MULTIARCH to '' (to avoid getting None) * Remove trailing whitespace from FindPythonLibsNew
-
- 20 Nov, 2016 1 commit
-
-
Dean Moldovan authored
Fixes #509. The move policy was already set for rvalues in PR #473, but this only applied to directly cast user-defined types. The problem is that STL containers cast values indirectly and the rvalue information is lost. Therefore the move policy was not set correctly. This commit fixes it. This also makes an additional adjustment to remove the `copy` policy exception: rvalues now always use the `move` policy. This is also safe for copy-only rvalues because the `move` policy has an internal fallback to copying.
-
- 08 Nov, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 04 Nov, 2016 1 commit
-
-
Jason Rhinelander authored
* Add debugging info about so size to build output This adds a small python script to tools that captures before-and-after .so sizes between builds and outputs this in the build output via a string such as: ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 924696 (decrease of 73680 bytes = 7.38%) ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376 (increase of 73680 bytes = 7.97%) ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376 (no change) Or, if there was no .so during the build, just the .so size by itself: ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376 This allows you to, for example, build, checkout a different branch, rebuild, and easily see exactly the change in the pybind11_tests.so size. It also allows looking at the travis and appveyor build logs to get an idea of .so/.dll sizes across different build systems. * Minor libsize.py script changes - Use RAII open - Remove unused libsize=-1 - Report change as [+-]xyz bytes = [+-]a.bc%
-
- 09 Oct, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 06 Sep, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 04 Sep, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 30 Aug, 2016 1 commit
-
-
Jason Rhinelander authored
This makes the output considerably easier to use: it now highlights (in red) matched tabs (instead of just listing the filenames), and adds line numbers to both the tabs check and the space-less if check outputs.
-
- 29 Aug, 2016 1 commit
-
-
Jason Rhinelander authored
The check-style exit status wasn't being propagated properly because the loops were running in a subshell (and so the change the the `errors` variable wasn't in the active command shell). This fixes it by running the greps in subshells and the loops in the main shell. This also avoids the if(/for(/while( style check on tests/CMakeLists.txt, since it *does* have if() statements with no space that are producing error messages, but that is (acceptable) CMake style.
-
- 28 Aug, 2016 2 commits
-
-
Jason Rhinelander authored
-
Jason Rhinelander authored
This adds a tool that checks style (currently just for tabs instead of spaces in files under include/tests/docs) and produces a travis-ci build failure if any problems are found.
-
- 27 Aug, 2016 1 commit
-
-
Dean Moldovan authored
Fixes #365. `sysconfig.get_config_var('SO')` already returns the correct PYTHON_MODULE_EXTENSION, even for debug builds, so there is no need to add anything else manually.
-
- 08 Aug, 2016 1 commit
-
-
Christian Ewald authored
When run on windows in a venv, PYTHON_LIBRARY pointet to a non-existant location in the virtual environment directory. This has been fixed by testing if the path exists and, if not, trying an alternative path, relative to the PYTHON_INCLUDE_DIR. If the alternative path doesn't exit as well, an error will be raised.
-
- 01 Jul, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 12 Jun, 2016 1 commit
-
-
Dean Moldovan authored
Also: - Update documented result variables - Remove long-ago-deprecated variable
-
- 22 May, 2016 1 commit
-
-
Dean Moldovan authored
-
- 20 May, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 05 May, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 01 May, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 30 Apr, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 29 Apr, 2016 2 commits
-
-
Wenzel Jakob authored
-
Merlin Nimier-David authored
This prevented `DOC(...)` calls with 5 arguments to resolve correctly.
-
- 26 Apr, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 25 Apr, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 19 Apr, 2016 1 commit
-
-
Wenzel Jakob authored
-