mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-29 00:22:00 +00:00
fix: the CMake config in Python package had a hard coded path (#3144)
This commit is contained in:
parent
a0b975965f
commit
7cc0ebb475
@ -203,6 +203,12 @@ if(PYBIND11_INSTALL)
|
|||||||
"${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}"
|
"${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}"
|
||||||
CACHE STRING "install path for pybind11Config.cmake")
|
CACHE STRING "install path for pybind11Config.cmake")
|
||||||
|
|
||||||
|
if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
set(pybind11_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
||||||
|
else()
|
||||||
|
set(pybind11_INCLUDEDIR "\$\{PACKAGE_PREFIX_DIR\}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
configure_package_config_file(
|
configure_package_config_file(
|
||||||
tools/${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
tools/${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||||
INSTALL_DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
INSTALL_DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
||||||
|
@ -138,6 +138,16 @@ def test_build_sdist(monkeypatch, tmpdir):
|
|||||||
) as f:
|
) as f:
|
||||||
pyproject_toml = f.read()
|
pyproject_toml = f.read()
|
||||||
|
|
||||||
|
with contextlib.closing(
|
||||||
|
tar.extractfile(
|
||||||
|
tar.getmember(
|
||||||
|
start + "pybind11/share/cmake/pybind11/pybind11Config.cmake"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) as f:
|
||||||
|
contents = f.read().decode("utf8")
|
||||||
|
assert 'set(pybind11_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")' in contents
|
||||||
|
|
||||||
files = {"pybind11/{}".format(n) for n in all_files}
|
files = {"pybind11/{}".format(n) for n in all_files}
|
||||||
files |= sdist_files
|
files |= sdist_files
|
||||||
files |= {"pybind11{}".format(n) for n in local_sdist_files}
|
files |= {"pybind11{}".format(n) for n in local_sdist_files}
|
||||||
@ -151,11 +161,11 @@ def test_build_sdist(monkeypatch, tmpdir):
|
|||||||
.substitute(version=version, extra_cmd="")
|
.substitute(version=version, extra_cmd="")
|
||||||
.encode()
|
.encode()
|
||||||
)
|
)
|
||||||
assert setup_py == contents
|
assert setup_py == contents
|
||||||
|
|
||||||
with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
|
with open(os.path.join(MAIN_DIR, "tools", "pyproject.toml"), "rb") as f:
|
||||||
contents = f.read()
|
contents = f.read()
|
||||||
assert pyproject_toml == contents
|
assert pyproject_toml == contents
|
||||||
|
|
||||||
|
|
||||||
def test_build_global_dist(monkeypatch, tmpdir):
|
def test_build_global_dist(monkeypatch, tmpdir):
|
||||||
|
@ -201,7 +201,8 @@ Using ``find_package`` with version info is not recommended except for release v
|
|||||||
@PACKAGE_INIT@
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
# Location of pybind11/pybind11.h
|
# Location of pybind11/pybind11.h
|
||||||
set(pybind11_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@")
|
# This will be relative unless explicitly set as absolute
|
||||||
|
set(pybind11_INCLUDE_DIR "@pybind11_INCLUDEDIR@")
|
||||||
|
|
||||||
set(pybind11_LIBRARY "")
|
set(pybind11_LIBRARY "")
|
||||||
set(pybind11_DEFINITIONS USING_pybind11)
|
set(pybind11_DEFINITIONS USING_pybind11)
|
||||||
|
Loading…
Reference in New Issue
Block a user