From d579a25038da218f85780151c5bf47e84f198b91 Mon Sep 17 00:00:00 2001 From: O01eg Date: Thu, 6 Jun 2019 21:12:38 +0300 Subject: [PATCH] Try to find suffixed boost_python Some Linux distributives switched to suffixed boost python for versions <= 1.66. Use major and minor python version from used python. --- CMakeLists.txt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 927c8c165a..d7694efbd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,10 +210,22 @@ find_package(Boost ${MINIMUM_BOOST_VERSION} thread REQUIRED) if(${Boost_VERSION} GREATER 106699) # boost >= 1.67 - find_package(Boost COMPONENTS python27 REQUIRED) - set(Boost_PYTHON_LIBRARY ${Boost_PYTHON27_LIBRARY}) + find_package(Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} REQUIRED) + set(Boost_PYTHON_LIBRARY ${Boost_PYTHON${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_LIBRARY}) else() - find_package(Boost COMPONENTS python REQUIRED) + # boost python suffixes are determined by distributives + # try different alternatives + find_package(Boost OPTIONAL_COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}) + if(Boost_PYTHON${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_FOUND) + set(Boost_PYTHON_LIBRARY ${Boost_PYTHON${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_LIBRARY}) + else() + find_package(Boost OPTIONAL_COMPONENTS python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}) + if(Boost_PYTHON-PY${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_FOUND) + set(Boost_PYTHON_LIBRARY ${Boost_PYTHON-PY${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_LIBRARY}) + else() + find_package(Boost COMPONENTS python REQUIRED) + endif() + endif() endif() find_package(ZLIB REQUIRED)