- some cleanup
[platform/upstream/libzypp-bindings.git] / swig / python / CMakeLists.txt
1
2 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
3
4 FIND_PACKAGE(PythonLibs REQUIRED)
5 MESSAGE( STATUS "Python include path: ${PYTHON_INCLUDE_PATH}" )
6
7 IF(DEFINED LIB)
8   SET(PYTHON_LIB_PATH "/usr/${LIB}/python2.5/site-packages/")
9 ELSE(DEFINED LIB)
10   SET(PYTHON_LIB_PATH "/usr/lib/python2.5/site-packages/")
11 ENDIF(DEFINED LIB)
12 MESSAGE(STATUS "Python lib path: ${PYTHON_LIB_PATH}")
13
14 SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
15 SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/zypp.i" )
16
17 ADD_CUSTOM_COMMAND (
18    OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx
19    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for python..."
20    COMMAND ${SWIG_EXECUTABLE} -c++ -python -xmlout ${CMAKE_CURRENT_BINARY_DIR}/parse.xml -o ${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx -I${ZYPP_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../zypp.i
21    COMMAND ${CMAKE_COMMAND} -E echo "Done."
22    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
23    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
24 )
25
26 ADD_CUSTOM_TARGET( glue
27    DEPENDS ${SWIG_OUTPUT}
28 )
29
30 ADD_LIBRARY( _zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
31 SET_TARGET_PROPERTIES( _zypp PROPERTIES PREFIX "" )
32 ADD_DEPENDENCIES( _zypp glue )
33
34 INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
35 INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
36 TARGET_LINK_LIBRARIES( _zypp ${ZYPP_LIBRARY} )
37
38 INSTALL(TARGETS _zypp LIBRARY DESTINATION ${PYTHON_LIB_PATH})
39 INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/zypp.py DESTINATION ${PYTHON_LIB_PATH})
40