2015-02-28 18:08:50 -08:00
|
|
|
if (BUILDPYTHON3)
|
|
|
|
|
set (PYTHONBUILD_VERSION 3)
|
|
|
|
|
else ()
|
|
|
|
|
set (PYTHONBUILD_VERSION 2.7)
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
find_package (PythonLibs ${PYTHONBUILD_VERSION} REQUIRED)
|
|
|
|
|
find_package (PythonInterp ${PYTHONBUILD_VERSION} REQUIRED)
|
|
|
|
|
|
2014-04-08 18:43:26 +01:00
|
|
|
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
|
|
|
|
|
|
|
|
|
|
include_directories(
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/..
|
|
|
|
|
${PYTHON_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
|
2014-06-25 17:49:27 +01:00
|
|
|
set_source_files_properties (python-mraa.i PROPERTIES CPLUSPLUS ON)
|
|
|
|
|
set_source_files_properties (python-mraa.i PROPERTIES SWIG_FLAGS "-I${CMAKE_BINARY_DIR}/src")
|
|
|
|
|
swig_add_module (python-mraa python python-mraa.i ${mraa_LIB_SRCS})
|
|
|
|
|
swig_link_libraries (python-mraa ${PYTHON_LIBRARIES})
|
2014-04-29 16:33:15 +01:00
|
|
|
|
|
|
|
|
if (DOXYGEN_FOUND)
|
2014-05-30 10:28:21 +01:00
|
|
|
foreach (_file ${DOCCLASSES})
|
2014-06-25 17:49:27 +01:00
|
|
|
add_dependencies (${SWIG_MODULE_python-mraa_REAL_NAME} ${_file}class_doc_i)
|
2014-04-29 16:33:15 +01:00
|
|
|
endforeach ()
|
2014-07-04 15:42:04 +01:00
|
|
|
add_dependencies (${SWIG_MODULE_python-mraa_REAL_NAME} common_hpp_doc_i)
|
2014-04-29 16:40:16 +01:00
|
|
|
|
|
|
|
|
add_custom_target (pydoc
|
2014-06-25 17:49:27 +01:00
|
|
|
pydoc -w ${CMAKE_CURRENT_BINARY_DIR}/mraa.py ${CMAKE_CURRENT_BINARY_DIR}/
|
2014-04-29 16:40:16 +01:00
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
COMMENT "Generating API documentation with pydoc" VERBATIM
|
|
|
|
|
)
|
2014-04-29 16:33:15 +01:00
|
|
|
endif ()
|
2014-05-02 09:51:42 +01:00
|
|
|
|
2014-06-25 17:49:27 +01:00
|
|
|
set_target_properties (${SWIG_MODULE_python-mraa_REAL_NAME} PROPERTIES
|
|
|
|
|
OUTPUT_NAME _mraa
|
2014-08-18 15:24:34 +01:00
|
|
|
COMPILE_FLAGS "${CMAKE_C_FLAGS} -DSWIGPYTHON=${SWIG_FOUND}"
|
2014-06-25 17:49:27 +01:00
|
|
|
)
|
|
|
|
|
|
2015-02-28 18:08:50 -08:00
|
|
|
execute_process (
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE} -c
|
|
|
|
|
"import site, sys; sys.stdout.write(site.PREFIXES[-1])"
|
|
|
|
|
OUTPUT_VARIABLE PYTHON_PREFIX
|
|
|
|
|
)
|
|
|
|
|
file (TO_CMAKE_PATH "${PYTHON_PREFIX}" PYTHON_PREFIX)
|
|
|
|
|
execute_process (
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE} -c
|
|
|
|
|
"import site, sys; sys.stdout.write(site.getusersitepackages().replace(site.getuserbase(), site.PREFIXES[-1]))"
|
|
|
|
|
OUTPUT_VARIABLE PYTHON_SITE_DIR
|
|
|
|
|
)
|
|
|
|
|
file (TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR)
|
|
|
|
|
string (REGEX REPLACE "^${PYTHON_PREFIX}/" ""
|
|
|
|
|
PYTHON_SITE_DIR "${PYTHON_SITE_DIR}")
|
2014-06-04 12:06:04 +01:00
|
|
|
|
2014-06-25 17:49:27 +01:00
|
|
|
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/_mraa.so
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/mraa.py
|
2015-02-28 18:08:50 -08:00
|
|
|
DESTINATION ${PYTHON_SITE_DIR})
|
2014-06-04 12:06:04 +01:00
|
|
|
|
2014-05-02 09:51:42 +01:00
|
|
|
add_subdirectory (docs)
|