backup
[platform/upstream/libzypp-bindings.git] / swig / python / CMakeLists.txt
1 # cmake likes unique target names
2 SET(WRAP python)
3
4 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
5
6 FIND_PACKAGE(PythonInterp REQUIRED)
7 FIND_PACKAGE(PythonLibs REQUIRED)
8
9 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_LIB_PATH)
10
11 MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
12 MESSAGE(STATUS "Python lib path: ${PYTHON_LIB_PATH}")
13 MESSAGE(STATUS "Python include path: ${PYTHON_INCLUDE_PATH}")
14
15 SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
16 SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/zypp.i" )
17
18 ADD_CUSTOM_COMMAND (
19    OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx
20    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for python..."
21    COMMAND ${SWIG_EXECUTABLE} -v -DZYPP_DEPRECATED -c++ -python  -o ${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx -I${ZYPP_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../zypp.i
22    COMMAND ${CMAKE_COMMAND} -E echo "Done."
23    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
24    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
25 )
26
27 ADD_CUSTOM_TARGET( ${WRAP}_glue
28    DEPENDS ${SWIG_OUTPUT}
29 )
30
31 ADD_LIBRARY( ${WRAP}_zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
32 SET_TARGET_PROPERTIES( ${WRAP}_zypp
33   PROPERTIES
34     PREFIX ""
35     OUTPUT_NAME _zypp
36 )
37 ADD_DEPENDENCIES( ${WRAP}_zypp ${WRAP}_glue )
38
39 INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
40 INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
41 TARGET_LINK_LIBRARIES( ${WRAP}_zypp ${ZYPP_LIBRARY} )
42
43 INSTALL(TARGETS ${WRAP}_zypp LIBRARY DESTINATION ${PYTHON_LIB_PATH})
44 INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/zypp.py DESTINATION ${PYTHON_LIB_PATH})
45