2 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
4 FIND_PACKAGE(PythonInterp REQUIRED)
5 FIND_PACKAGE(PythonLibs REQUIRED)
7 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)
9 MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
10 MESSAGE(STATUS "Python lib path: ${PYTHON_LIB_PATH}")
11 MESSAGE(STATUS "Python include path: ${PYTHON_INCLUDE_PATH}")
13 SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
14 SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/zypp.i" )
17 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx
18 COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for python..."
19 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
20 COMMAND ${CMAKE_COMMAND} -E echo "Done."
21 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
22 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
25 ADD_CUSTOM_TARGET( glue
26 DEPENDS ${SWIG_OUTPUT}
29 ADD_LIBRARY( _zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
30 SET_TARGET_PROPERTIES( _zypp PROPERTIES PREFIX "" )
31 ADD_DEPENDENCIES( _zypp glue )
33 INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
34 INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
35 TARGET_LINK_LIBRARIES( _zypp ${ZYPP_LIBRARY} )
37 INSTALL(TARGETS _zypp LIBRARY DESTINATION ${PYTHON_LIB_PATH})
38 INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/zypp.py DESTINATION ${PYTHON_LIB_PATH})