From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
Date: Mon, 6 Apr 2020 19:08:18 +0200
Subject: Make Python version variable for pybuild

---
 cv_bridge/CMakeLists.txt     | 5 +++--
 cv_bridge/src/CMakeLists.txt | 6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/cv_bridge/CMakeLists.txt b/cv_bridge/CMakeLists.txt
index ef804b9..84a5ec6 100644
--- a/cv_bridge/CMakeLists.txt
+++ b/cv_bridge/CMakeLists.txt
@@ -4,14 +4,15 @@ project(cv_bridge)
 find_package(catkin REQUIRED COMPONENTS rosconsole sensor_msgs)
 
 if(NOT ANDROID)
-  find_package(PythonLibs)
+  find_package(PythonLibs ${PYVER} EXACT REQUIRED)
 
   if(PYTHONLIBS_VERSION_STRING VERSION_LESS "3.8")
     # Debian Buster
     find_package(Boost REQUIRED python37)
   else()
     # Ubuntu Focal
-    find_package(Boost REQUIRED python)
+    string(REPLACE "." "" BOOSTPYVER "${PYVER}")
+    find_package(Boost REQUIRED COMPONENTS python${BOOSTPYVER})
   endif()
 else()
 find_package(Boost REQUIRED)
diff --git a/cv_bridge/src/CMakeLists.txt b/cv_bridge/src/CMakeLists.txt
index d69fbda..cb000c6 100644
--- a/cv_bridge/src/CMakeLists.txt
+++ b/cv_bridge/src/CMakeLists.txt
@@ -13,8 +13,8 @@ install(TARGETS ${PROJECT_NAME}
 
 if(NOT ANDROID)
 # add a Boost Python library
-find_package(PythonInterp REQUIRED)
-find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+find_package(PythonInterp ${PYVER} EXACT REQUIRED)
+find_package(PythonLibs ${PYVER} EXACT REQUIRED)
 
 #Get the numpy include directory from its python module
 if(NOT PYTHON_NUMPY_INCLUDE_DIR)
@@ -63,5 +63,5 @@ if(MSVC)
                         SUFFIX ".pyd")
 endif()
 
-install(TARGETS ${PROJECT_NAME}_boost DESTINATION ${CATKIN_PACKAGE_PYTHON_DESTINATION}/boost/)
+install(TARGETS ${PROJECT_NAME}_boost DESTINATION lib/python${PYVER}/${PYTHON_PACKAGES_DIR}/${PROJECT_NAME}/boost/)
 endif()
