]> icculus.org git repositories - duncan/yast2-ruby-bindings.git/blob - src/swig/CMakeLists.txt
Allows for a different mporting
[duncan/yast2-ruby-bindings.git] / src / swig / CMakeLists.txt
1
2 SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ycp_wrap.cxx" )
3 SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/ycp.i" )
4
5 ADD_CUSTOM_COMMAND (
6    OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/ycp_wrap.cxx
7    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code..."
8 #COMMAND ${SWIG_EXECUTABLE} -c++ -ruby -autorename -xmlout parse.xml -I/usr/include swig/zypp.i
9    COMMAND ${SWIG_EXECUTABLE} -I${YAST_INCLUDE_DIR} -c++ -ruby -autorename -xmlout ${CMAKE_CURRENT_BINARY_DIR}/parse.xml -o ${CMAKE_CURRENT_BINARY_DIR}/ycp_wrap.cxx -I${ZYPP_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/ycp.i
10    COMMAND ${CMAKE_COMMAND} -E echo "Done."
11    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
12    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ycp.i
13 )
14
15 ADD_CUSTOM_TARGET( glue
16    DEPENDS ${SWIG_OUTPUT}
17 )
18
19 ADD_LIBRARY( ycpx SHARED "${CMAKE_CURRENT_BINARY_DIR}/ycp_wrap.cxx" )
20 SET_TARGET_PROPERTIES( ycpx PROPERTIES PREFIX "" )
21 ADD_DEPENDENCIES( ycpx glue )
22
23 INCLUDE_DIRECTORIES( ${RUBY_INCLUDE_PATH} )
24 INCLUDE_DIRECTORIES( ${YAST_INCLUDE_DIR} )
25 TARGET_LINK_LIBRARIES( ycpx ${YAST_LIBRARY} )
26 TARGET_LINK_LIBRARIES( ycpx ${YAST_YCP_LIBRARY} )
27 TARGET_LINK_LIBRARIES( ycpx ${YAST_PLUGIN_WFM_LIBRARY} )
28 TARGET_LINK_LIBRARIES( ycpx ${RUBY_LIBRARY} )
29
30 INSTALL(TARGETS ycpx LIBRARY DESTINATION ${RUBY_ARCH_DIR} )
31
32 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ycp.rb DESTINATION ${RUBY_VENDORLIB_DIR} )