]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: use specified python3 version if any
authorKefu Chai <kchai@redhat.com>
Thu, 4 Apr 2019 03:37:00 +0000 (11:37 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 10 Apr 2019 09:57:08 +0000 (17:57 +0800)
use might have multiple python3 installed, some of them has/have all
dependencies installed and is good enough for building Ceph. we should
not always use the latest python installed in the system and complain that
there is missing dependencies, even if user has installed all the
python3 dependencies for the older python3.

put in other words, if user only installs cython module for python3.4, but
she has both python3.6 and python3.4 in her system. we should not force
her to uninstall python3.6 for installing Ceph.

this change also aligns with MGR_PYTHON_VERSION. i am not applying the
same change to WITH_PYTHON2, because python2 is already stablized. and distros
are not likely to release new python2 releases.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d8c13e86048b7aac458f3eda101f9778e3d45dcf)

src/CMakeLists.txt

index b52c55a680b3b4654121c2bfc6197f8a2b25b188..90a6bfc6777a2b2a16c8fc9aa892ef8a7d5fb50f 100644 (file)
@@ -281,10 +281,13 @@ if(WITH_PYTHON2)
   find_package(PythonLibs 2 REQUIRED)
 endif()
 
-option(WITH_PYTHON3 "build python3 bindings" OFF)
+set(WITH_PYTHON3 "OFF" CACHE STRING "build python3 bindings with specified python3 version")
 if(WITH_PYTHON3)
-  find_package(Python3Interp 3 REQUIRED)
-  find_package(Python3Libs 3 REQUIRED)
+  if(WITH_PYTHON3 MATCHES "^(1|ON|YES|TRUE|Y)$")
+    set(WITH_PYTHON3 "3")
+  endif()
+  find_package(Python3Interp ${WITH_PYTHON3} REQUIRED)
+  find_package(Python3Libs ${WITH_PYTHON3} REQUIRED)
 endif()
 
 # the major version of the python bindings as a dependency of other