mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-11 08:03:55 +00:00
fix(cmake): support vcpkg, try 2 (#4123)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
parent
5bdd3d59be
commit
bbb89da152
@ -115,6 +115,7 @@ if(PYTHON_IS_DEBUG)
|
|||||||
PROPERTY INTERFACE_COMPILE_DEFINITIONS Py_DEBUG)
|
PROPERTY INTERFACE_COMPILE_DEFINITIONS Py_DEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# The <3.11 code here does not support release/debug builds at the same time, like on vcpkg
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.11)
|
if(CMAKE_VERSION VERSION_LESS 3.11)
|
||||||
set_property(
|
set_property(
|
||||||
TARGET pybind11::module
|
TARGET pybind11::module
|
||||||
@ -130,16 +131,19 @@ if(CMAKE_VERSION VERSION_LESS 3.11)
|
|||||||
APPEND
|
APPEND
|
||||||
PROPERTY INTERFACE_LINK_LIBRARIES pybind11::pybind11 $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
PROPERTY INTERFACE_LINK_LIBRARIES pybind11::pybind11 $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
||||||
else()
|
else()
|
||||||
|
# The IMPORTED INTERFACE library here is to ensure that "debug" and "release" get processed outside
|
||||||
|
# of a generator expression - https://gitlab.kitware.com/cmake/cmake/-/issues/18424, as they are
|
||||||
|
# target_link_library keywords rather than real libraries.
|
||||||
|
add_library(pybind11::_ClassicPythonLibraries IMPORTED INTERFACE)
|
||||||
|
target_link_libraries(pybind11::_ClassicPythonLibraries INTERFACE ${PYTHON_LIBRARIES})
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
pybind11::module
|
pybind11::module
|
||||||
INTERFACE
|
INTERFACE
|
||||||
pybind11::python_link_helper
|
pybind11::python_link_helper
|
||||||
"$<$<OR:$<PLATFORM_ID:Windows>,$<PLATFORM_ID:Cygwin>>:$<BUILD_INTERFACE:${PYTHON_LIBRARIES}>>"
|
"$<$<OR:$<PLATFORM_ID:Windows>,$<PLATFORM_ID:Cygwin>>:pybind11::_ClassicPythonLibraries>")
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(pybind11::embed INTERFACE pybind11::pybind11
|
target_link_libraries(pybind11::embed INTERFACE pybind11::pybind11
|
||||||
$<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
pybind11::_ClassicPythonLibraries)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
function(pybind11_extension name)
|
function(pybind11_extension name)
|
||||||
|
Loading…
Reference in New Issue
Block a user