X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/52cdab43b062ef34f83de8c8ced7c29f43b2d16d..4e73c03c087fd07184d9ed45224f7fbad24e686e:/CMakeLists.txt 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)