Use system's pybind11 if available.
This commit is contained in:
parent
77050e5042
commit
f8c6fabb2d
@ -210,6 +210,11 @@ if (OPM_ENABLE_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
|
set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
find_package(pybind11 2.2 CONFIG)
|
||||||
|
if (NOT pybind11_FOUND)
|
||||||
|
# Use full path for reuse with pypi
|
||||||
|
set(pybind11_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/python/pybind11/include ${PYTHON_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -356,6 +361,10 @@ if (OPM_ENABLE_PYTHON)
|
|||||||
set(opm-common_PYTHON_PACKAGE_VERSION ${OPM_PYTHON_PACKAGE_VERSION_TAG})
|
set(opm-common_PYTHON_PACKAGE_VERSION ${OPM_PYTHON_PACKAGE_VERSION_TAG})
|
||||||
|
|
||||||
# Generate versioned setup.py
|
# Generate versioned setup.py
|
||||||
|
if (pybind11_INCLUDE_DIRS)
|
||||||
|
string(REGEX REPLACE ";" "', '" _tmp "${pybind11_INCLUDE_DIRS}" )
|
||||||
|
set(SETUP_PY_PYBIND_INCLUDE_DIR "'${_tmp}'")
|
||||||
|
endif()
|
||||||
configure_file (${PROJECT_SOURCE_DIR}/python/setup.py.in ${PROJECT_BINARY_DIR}/python/setup.py)
|
configure_file (${PROJECT_SOURCE_DIR}/python/setup.py.in ${PROJECT_BINARY_DIR}/python/setup.py)
|
||||||
file(COPY ${PROJECT_SOURCE_DIR}/python/README.md DESTINATION ${PROJECT_BINARY_DIR}/python)
|
file(COPY ${PROJECT_SOURCE_DIR}/python/README.md DESTINATION ${PROJECT_BINARY_DIR}/python)
|
||||||
execute_process(COMMAND ${Python3_EXECUTABLE} target_name.py
|
execute_process(COMMAND ${Python3_EXECUTABLE} target_name.py
|
||||||
@ -433,7 +442,7 @@ if (OPM_ENABLE_PYTHON)
|
|||||||
|
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
# 2: Embed the Python interpreter for keywords like PYACTION and PYINPUT
|
# 2: Embed the Python interpreter for keywords like PYACTION and PYINPUT
|
||||||
target_include_directories(opmcommon SYSTEM PRIVATE "python/pybind11/include;${PYTHON_INCLUDE_DIRS}")
|
target_include_directories(opmcommon SYSTEM PRIVATE "${pybind11_INCLUDE_DIRS}")
|
||||||
if (OPM_ENABLE_EMBEDDED_PYTHON)
|
if (OPM_ENABLE_EMBEDDED_PYTHON)
|
||||||
target_link_libraries(opmcommon PUBLIC ${PYTHON_LIBRARY})
|
target_link_libraries(opmcommon PUBLIC ${PYTHON_LIBRARY})
|
||||||
add_definitions(-DEMBEDDED_PYTHON)
|
add_definitions(-DEMBEDDED_PYTHON)
|
||||||
|
@ -65,7 +65,7 @@ ext_modules = [
|
|||||||
libraries=libs,
|
libraries=libs,
|
||||||
language='c++',
|
language='c++',
|
||||||
undef_macros=["NDEBUG"],
|
undef_macros=["NDEBUG"],
|
||||||
include_dirs=["pybind11/include"],
|
include_dirs=[@SETUP_PY_PYBIND_INCLUDE_DIR@],
|
||||||
extra_compile_args=['-std=c++17', '-fopenmp'],
|
extra_compile_args=['-std=c++17', '-fopenmp'],
|
||||||
extra_link_args=['-fopenmp', @opm-common_PYTHON_LINKAGE@]
|
extra_link_args=['-fopenmp', @opm-common_PYTHON_LINKAGE@]
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user