mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 22:52:01 +00:00
fix: regression with installed pybind11 overriding local one (#2716)
* fix: regression with installed pybind11 overriding discovered one Closes #2709 * docs: wording incorrect
This commit is contained in:
parent
499fcd5447
commit
ffb113d1d8
@ -127,10 +127,20 @@ endif()
|
|||||||
# Check on every access - since Python2 and Python3 could have been used - do nothing in that case.
|
# Check on every access - since Python2 and Python3 could have been used - do nothing in that case.
|
||||||
|
|
||||||
if(DEFINED ${_Python}_INCLUDE_DIRS)
|
if(DEFINED ${_Python}_INCLUDE_DIRS)
|
||||||
|
# Only add Python for build - must be added during the import for config
|
||||||
|
# since it has to be re-discovered.
|
||||||
|
#
|
||||||
|
# This needs to be a target to be included after the local pybind11
|
||||||
|
# directory, just in case there there is an installed pybind11 sitting
|
||||||
|
# next to Python's includes. It also ensures Python is a SYSTEM library.
|
||||||
|
add_library(pybind11::python_headers INTERFACE IMPORTED)
|
||||||
|
set_property(
|
||||||
|
TARGET pybind11::python_headers PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
"$<BUILD_INTERFACE:${${_Python}_INCLUDE_DIRS}>")
|
||||||
set_property(
|
set_property(
|
||||||
TARGET pybind11::pybind11
|
TARGET pybind11::pybind11
|
||||||
APPEND
|
APPEND
|
||||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<BUILD_INTERFACE:${${_Python}_INCLUDE_DIRS}>)
|
PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python_headers)
|
||||||
set(pybind11_INCLUDE_DIRS
|
set(pybind11_INCLUDE_DIRS
|
||||||
"${pybind11_INCLUDE_DIR}" "${${_Python}_INCLUDE_DIRS}"
|
"${pybind11_INCLUDE_DIR}" "${${_Python}_INCLUDE_DIRS}"
|
||||||
CACHE INTERNAL "Directories where pybind11 and possibly Python headers are located")
|
CACHE INTERNAL "Directories where pybind11 and possibly Python headers are located")
|
||||||
|
@ -81,11 +81,19 @@ if(PYBIND11_MASTER_PROJECT)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Only add Python for build - must be added during the import for config since it has to be re-discovered.
|
# Only add Python for build - must be added during the import for config since
|
||||||
|
# it has to be re-discovered.
|
||||||
|
#
|
||||||
|
# This needs to be an target to it is included after the local pybind11
|
||||||
|
# directory, just in case there are multiple versions of pybind11, we want the
|
||||||
|
# one we expect.
|
||||||
|
add_library(pybind11::python_headers INTERFACE IMPORTED)
|
||||||
|
set_property(TARGET pybind11::python_headers PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
"$<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>")
|
||||||
set_property(
|
set_property(
|
||||||
TARGET pybind11::pybind11
|
TARGET pybind11::pybind11
|
||||||
APPEND
|
APPEND
|
||||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>)
|
PROPERTY INTERFACE_LINK_LIBRARIES pybind11::python_headers)
|
||||||
|
|
||||||
set(pybind11_INCLUDE_DIRS
|
set(pybind11_INCLUDE_DIRS
|
||||||
"${pybind11_INCLUDE_DIR}" "${PYTHON_INCLUDE_DIRS}"
|
"${pybind11_INCLUDE_DIR}" "${PYTHON_INCLUDE_DIRS}"
|
||||||
|
Loading…
Reference in New Issue
Block a user