Skip to content

Commit

Permalink
added cmake command line option to skip generating the python wrapper
Browse files Browse the repository at this point in the history
it fails to link without adding some more options, because libplatform is statically linked in Kodi on OS X and Android
  • Loading branch information
opdenkamp committed Apr 7, 2015
1 parent 1e08e48 commit de05384
Showing 1 changed file with 43 additions and 37 deletions.
80 changes: 43 additions & 37 deletions src/libcec/cmake/CheckPlatformSupport.cmake
Expand Up @@ -116,43 +116,49 @@ check_library_exists(rt clock_gettime "" HAVE_RT)
# check for dlopen
check_library_exists(dl dlopen "" HAVE_DLOPEN)

# Python
include(FindPythonLibs)
find_package(PythonLibs)

# Swig
find_package(SWIG)
if (PYTHONLIBS_FOUND AND SWIG_FOUND)
set(CMAKE_SWIG_FLAGS "")
set(HAVE_PYTHON 1)
if ("${PYTHONLIBS_VERSION_STRING}" STREQUAL "")
message(STATUS "Python version not found, defaulting to 2.7")
set(PYTHONLIBS_VERSION_STRING "2.7.x")
set(PYTHON_VERSION "2.7")
else()
string(REGEX REPLACE "\\.[0-9]+\\+?$" "" PYTHON_VERSION ${PYTHONLIBS_VERSION_STRING})
endif()
SET(SKIP_PYTHON_WRAPPER 0 CACHE STRING "Define to 1 to not generate the Python wrapper")

include(${SWIG_USE_FILE})
include_directories(${PYTHON_INCLUDE_PATH})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

SET_SOURCE_FILES_PROPERTIES(libcec.i PROPERTIES CPLUSPLUS ON)
swig_add_module(cec python libcec.i)
swig_link_libraries(cec ${PYTHON_LIBRARIES})
swig_link_libraries(cec cec)

if(WIN32)
install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
DESTINATION python/cec)
install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
DESTINATION python/cec
RENAME __init__.py)
else()
install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec)
install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec
RENAME __init__.py)
if (${SKIP_PYTHON_WRAPPER})
message(STATUS "Not generating Python wrapper")
else()
# Python
include(FindPythonLibs)
find_package(PythonLibs)

# Swig
find_package(SWIG)
if (PYTHONLIBS_FOUND AND SWIG_FOUND)
set(CMAKE_SWIG_FLAGS "")
set(HAVE_PYTHON 1)
if ("${PYTHONLIBS_VERSION_STRING}" STREQUAL "")
message(STATUS "Python version not found, defaulting to 2.7")
set(PYTHONLIBS_VERSION_STRING "2.7.x")
set(PYTHON_VERSION "2.7")
else()
string(REGEX REPLACE "\\.[0-9]+\\+?$" "" PYTHON_VERSION ${PYTHONLIBS_VERSION_STRING})
endif()

include(${SWIG_USE_FILE})
include_directories(${PYTHON_INCLUDE_PATH})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

SET_SOURCE_FILES_PROPERTIES(libcec.i PROPERTIES CPLUSPLUS ON)
swig_add_module(cec python libcec.i)
swig_link_libraries(cec ${PYTHON_LIBRARIES})
swig_link_libraries(cec cec)

if(WIN32)
install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
DESTINATION python/cec)
install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
DESTINATION python/cec
RENAME __init__.py)
else()
install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec)
install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec
RENAME __init__.py)
endif()
endif()
endif()

0 comments on commit de05384

Please sign in to comment.