blob: a3dd94a1891b22bff711b248da3c9816b4f4d752 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
set(CMAKE_SWIG_FLAGS "-threads")
swig_add_module(cproton python python.i)
include_directories (${PYTHON_INCLUDE_PATH})
swig_link_libraries(cproton ${BINDING_DEPS} ${PYTHON_LIBRARIES})
find_package(PythonInterp REQUIRED)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='')"
OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES
OUTPUT_STRIP_TRAILING_WHITESPACE)
install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cproton.py
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cproton.py
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile proton.py
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})")
install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile proton.py
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})")
find_program(EPYDOC_EXE epydoc)
if (EPYDOC_EXE)
add_custom_target(docs-py COMMAND ${EPYDOC_EXE} --no-private --html
-o ${CMAKE_CURRENT_BINARY_DIR}/html
${CMAKE_CURRENT_SOURCE_DIR}/proton.py)
add_dependencies(docs docs-py)
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/"
DESTINATION "${PROTON_SHARE}/docs/api-py"
COMPONENT documentation
${OPTIONAL_ARG})
endif (EPYDOC_EXE)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cproton.py
${CMAKE_CURRENT_BINARY_DIR}/cproton.pyc
${CMAKE_CURRENT_BINARY_DIR}/cproton.pyo
${CMAKE_CURRENT_SOURCE_DIR}/proton.py
${CMAKE_CURRENT_SOURCE_DIR}/proton.pyc
${CMAKE_CURRENT_SOURCE_DIR}/proton.pyo
DESTINATION ${PYTHON_SITEARCH_PACKAGES}
COMPONENT Python)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cproton.so
RENAME _cproton.so
DESTINATION ${PYTHON_SITEARCH_PACKAGES}
COMPONENT Python)