From: Martin Quinson Date: Tue, 22 Jan 2019 19:54:20 +0000 (+0100) Subject: use the local copy of pybind11 if a local checkout exists X-Git-Tag: v3_22~503 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/72f9b3135aea299557201d641d49a9ffb1f28f2a use the local copy of pybind11 if a local checkout exists --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a53bc852b3..50d67d50c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -773,17 +773,30 @@ endif() # Python binding (with pybind11) ################ -if(EXISTS pybind11) # Try to use a local copy of pybind11, if any - add_subdirectory(pybind11) -endif() - # Our usage of pybind11::overload_cast mandates C++14 get_property(known_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES) -if ("cxx_std_14" IN_LIST known_features) - find_package(pybind11 2.2.0) + +if("cxx_std_14" IN_LIST known_features) + + if(EXISTS ${CMAKE_HOME_DIRECTORY}/pybind11) # Try to use a local copy of pybind11, if any + message(STATUS "Use the internal copy of pybind11 (using C++14).") + add_subdirectory(${CMAKE_HOME_DIRECTORY}/pybind11) + set(pybind11_FOUND ON) + + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/pybind11/tools/) + set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.4) + find_package(PythonLibsNew ${PYBIND11_PYTHON_VERSION} REQUIRED) + + else() + find_package(pybind11 2.2.0) + endif() + if(NOT PYTHONLIBS_FOUND) + message(STATUS "Python libs not found. Turn pybind11 off.") + set(pybind11_FOUND OFF) endif() + else() message(STATUS "No support for C++14 detected, don't even search for pybind11.") set(pybind11_FOUND OFF)