mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-23 13:45:10 +00:00
Merge branch 'pybind:master' into master
This commit is contained in:
commit
bbe7e7b65c
67
.github/workflows/ci.yml
vendored
67
.github/workflows/ci.yml
vendored
@ -1037,3 +1037,70 @@ jobs:
|
|||||||
|
|
||||||
- name: Clean directory
|
- name: Clean directory
|
||||||
run: git clean -fdx
|
run: git clean -fdx
|
||||||
|
|
||||||
|
macos_brew_install_llvm:
|
||||||
|
name: "macos-latest • brew install llvm"
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
# https://apple.stackexchange.com/questions/227026/how-to-install-recent-clang-with-homebrew
|
||||||
|
LDFLAGS: '-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Update PATH
|
||||||
|
run: echo "/usr/local/opt/llvm/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Show env
|
||||||
|
run: env
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Show Clang++ version before brew install llvm
|
||||||
|
run: clang++ --version
|
||||||
|
|
||||||
|
- name: brew install llvm
|
||||||
|
run: brew install llvm
|
||||||
|
|
||||||
|
- name: Show Clang++ version after brew install llvm
|
||||||
|
run: clang++ --version
|
||||||
|
|
||||||
|
- name: Update CMake
|
||||||
|
uses: jwlawson/actions-setup-cmake@v1.13
|
||||||
|
|
||||||
|
- name: Run pip installs
|
||||||
|
run: |
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
python3 -m pip install -r tests/requirements.txt
|
||||||
|
python3 -m pip install numpy
|
||||||
|
python3 -m pip install scipy
|
||||||
|
|
||||||
|
- name: Show CMake version
|
||||||
|
run: cmake --version
|
||||||
|
|
||||||
|
- name: CMake Configure
|
||||||
|
run: >
|
||||||
|
cmake -S . -B .
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
|
-DPYBIND11_WERROR=ON
|
||||||
|
-DPYBIND11_SIMPLE_GIL_MANAGEMENT=OFF
|
||||||
|
-DDOWNLOAD_CATCH=ON
|
||||||
|
-DDOWNLOAD_EIGEN=ON
|
||||||
|
-DCMAKE_CXX_COMPILER=clang++
|
||||||
|
-DCMAKE_CXX_STANDARD=17
|
||||||
|
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build . -j 2
|
||||||
|
|
||||||
|
- name: Python tests
|
||||||
|
run: cmake --build . --target pytest -j 2
|
||||||
|
|
||||||
|
- name: C++ tests
|
||||||
|
run: cmake --build . --target cpptest -j 2
|
||||||
|
|
||||||
|
- name: Interface test
|
||||||
|
run: cmake --build . --target test_cmake_build -j 2
|
||||||
|
|
||||||
|
- name: Clean directory
|
||||||
|
run: git clean -fdx
|
||||||
|
@ -4,6 +4,7 @@ import pytest
|
|||||||
|
|
||||||
import env
|
import env
|
||||||
import pybind11_cross_module_tests as cm
|
import pybind11_cross_module_tests as cm
|
||||||
|
import pybind11_tests # noqa: F401
|
||||||
from pybind11_tests import exceptions as m
|
from pybind11_tests import exceptions as m
|
||||||
|
|
||||||
|
|
||||||
@ -72,9 +73,9 @@ def test_cross_module_exceptions(msg):
|
|||||||
|
|
||||||
# TODO: FIXME
|
# TODO: FIXME
|
||||||
@pytest.mark.xfail(
|
@pytest.mark.xfail(
|
||||||
"env.PYPY and env.MACOS",
|
"env.MACOS and (env.PYPY or pybind11_tests.compiler_info.startswith('Homebrew Clang'))",
|
||||||
raises=RuntimeError,
|
raises=RuntimeError,
|
||||||
reason="Expected failure with PyPy and libc++ (Issue #2847 & PR #2999)",
|
reason="See Issue #2847, PR #2999, PR #4324",
|
||||||
)
|
)
|
||||||
def test_cross_module_exception_translator():
|
def test_cross_module_exception_translator():
|
||||||
with pytest.raises(KeyError):
|
with pytest.raises(KeyError):
|
||||||
|
@ -235,7 +235,7 @@ function(pybind11_add_module target_name)
|
|||||||
|
|
||||||
# Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
|
# Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
|
||||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
||||||
if(NOT MSVC AND NOT ${uppercase_CMAKE_BUILD_TYPE} MATCHES DEBUG|RELWITHDEBINFO)
|
if(NOT MSVC AND NOT "${uppercase_CMAKE_BUILD_TYPE}" MATCHES DEBUG|RELWITHDEBINFO)
|
||||||
# Strip unnecessary sections of the binary on Linux/macOS
|
# Strip unnecessary sections of the binary on Linux/macOS
|
||||||
pybind11_strip(${target_name})
|
pybind11_strip(${target_name})
|
||||||
endif()
|
endif()
|
||||||
|
@ -214,7 +214,7 @@ function(pybind11_add_module target_name)
|
|||||||
|
|
||||||
# Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
|
# Use case-insensitive comparison to match the result of $<CONFIG:cfgs>
|
||||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
|
||||||
if(NOT MSVC AND NOT ${uppercase_CMAKE_BUILD_TYPE} MATCHES DEBUG|RELWITHDEBINFO)
|
if(NOT MSVC AND NOT "${uppercase_CMAKE_BUILD_TYPE}" MATCHES DEBUG|RELWITHDEBINFO)
|
||||||
pybind11_strip(${target_name})
|
pybind11_strip(${target_name})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user