Files
macports-ports/science/nektarpp/files/system-pybind11.patch

63 lines
2.4 KiB
Diff

diff --git a/cmake/ThirdPartyPython.cmake b/cmake/ThirdPartyPython.cmake
index f1e37ba1a..643bf225c 100644
--- cmake/ThirdPartyPython.cmake
+++ cmake/ThirdPartyPython.cmake
@@ -40,18 +40,27 @@ IF (NEKTAR_BUILD_PYTHON)
COMMAND ${Python3_EXECUTABLE} -m pip install .
WORKING_DIRECTORY ${NEKPY_BASE_DIR})
- EXTERNALPROJECT_ADD(
- pybind11
- PREFIX ${TPSRC}
- URL ${TPURL}/pybind11-002c05b17.zip
- URL_MD5 4fd2f2df6a8a4f28c260e56163bf4481
- STAMP_DIR ${TPBUILD}/stamp
- DOWNLOAD_DIR ${TPSRC}
- SOURCE_DIR ${TPSRC}/pybind11
- BINARY_DIR ${TPBUILD}/pybind11
- TMP_DIR ${TPBUILD}/pybind11-tmp
- INSTALL_DIR ${TPDIST}
- CONFIGURE_COMMAND ${CMAKE_COMMAND}
+ # Require pybind11 v3 or later for unique_ptr transfer
+ FIND_PACKAGE(pybind11 3 CONFIG QUIET)
+
+ IF (pybind11_FOUND)
+ MESSAGE(STATUS "Found pybind11: ${pybind11_INCLUDE_DIR}")
+ ADD_CUSTOM_TARGET(pybind11 ALL)
+ INCLUDE_DIRECTORIES(${pybind11_INCLUDE_DIR})
+ ELSE()
+ MESSAGE(STATUS "Build pybind11: ${TPDIST}/include/pybind11")
+ EXTERNALPROJECT_ADD(
+ pybind11
+ PREFIX ${TPSRC}
+ URL ${TPURL}/pybind11-3.0.1.zip
+ URL_MD5 53f015a45ffaeeec2ad605ac436526ba
+ STAMP_DIR ${TPBUILD}/stamp
+ DOWNLOAD_DIR ${TPSRC}
+ SOURCE_DIR ${TPSRC}/pybind11
+ BINARY_DIR ${TPBUILD}/pybind11
+ TMP_DIR ${TPBUILD}/pybind11-tmp
+ INSTALL_DIR ${TPDIST}
+ CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
@@ -59,12 +68,13 @@ IF (NEKTAR_BUILD_PYTHON)
-DPYBIND11_TEST=OFF
${TPSRC}/pybind11)
- # Add third-party include to include path.
- INCLUDE_DIRECTORIES(${TPDIST}/include)
+ # Add third-party include to include path.
+ INCLUDE_DIRECTORIES(${TPDIST}/include)
- ADD_DEPENDENCIES(thirdparty pybind11)
+ ADD_DEPENDENCIES(thirdparty pybind11)
+ ENDIF()
- FILE(WRITE ${NEKPY_BASE_DIR}/NekPy/__init__.py "# Adjust dlopen flags to avoid OpenMPI issues
+ FILE(WRITE ${NEKPY_BASE_DIR}/NekPy/__init__.py "# Adjust dlopen flags to avoid OpenMPI issues
try:
import DLFCN as dl
import sys