Skip to content

Commit

Permalink
cmake: make py3 a nice-to-have
Browse files Browse the repository at this point in the history
python3 is not a hard requirement to build ceph, so make it optional.
add an option named "WITH_PYTHON3" which accepts ON, OFF, or CHECK.

Fixes: http://tracker.ceph.com/issues/17103
Signed-off-by: Kefu Chai <kchai@redhat.com>
  • Loading branch information
tchaikov committed Sep 8, 2016
1 parent 3942ac4 commit 7d7a984
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
1 change: 1 addition & 0 deletions ceph.spec.in
Expand Up @@ -672,6 +672,7 @@ cmake .. \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \
-DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \
Expand Down
2 changes: 1 addition & 1 deletion debian/rules
Expand Up @@ -5,7 +5,7 @@ export DESTDIR=$(CURDIR)/debian/tmp

export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

extraopts += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON
extraopts += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON -DWITH_PYTHON3=ON
extraopts += -DWITH_CEPHFS_JAVA=ON
# assumes that ceph is exmpt from multiarch support, so we override the libdir.
extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib
Expand Down
16 changes: 14 additions & 2 deletions src/CMakeLists.txt
Expand Up @@ -200,8 +200,20 @@ endif()
# Python stuff
find_package(PythonInterp 2 REQUIRED)
find_package(PythonLibs 2 REQUIRED)
find_package(Python3Interp 3 REQUIRED)
find_package(Python3Libs 3 REQUIRED)

option(WITH_PYTHON3 "build python3 bindings" "CHECK")
if(WITH_PYTHON3 MATCHES "check|CHECK")
find_package(Python3Interp 3 QUIET)
find_package(Python3Libs 3 QUIET)
if(PYTHON3INTERP_FOUND AND PYTHON3LIBS_FOUND)
set(WITH_PYTHON3 ON)
else()
set(WITH_PYTHON3 OFF)
endif()
elseif(WITH_PYTHON3)
find_package(Python3Interp 3 REQUIRED)
find_package(Python3Libs 3 REQUIRED)
endif()

if(HAVE_XIO)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${XIO_INCLUDE_DIR}")
Expand Down
8 changes: 7 additions & 1 deletion src/pybind/CMakeLists.txt
Expand Up @@ -2,7 +2,13 @@ include(Distutils)

set(CYTHON_MODULE_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cython_modules)

foreach(python_version 3 2) # Keep the default version last
# Keep the default version last
if(WITH_PYTHON3)
set(py_vers 3)
endif()
list(APPEND py_vers 2)

foreach(python_version ${py_vers})
if(${python_version} EQUAL 2)
set(PYTHON_VERSION "")
else(${python_version} EQUAL 2)
Expand Down

0 comments on commit 7d7a984

Please sign in to comment.