-
+cmake_minimum_required(VERSION 2.6)
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH})
INCLUDE(CPack)
-#FIND_PACKAGE(SWIG REQUIRED)
MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
FIND_PROGRAM(SWIG_EXECUTABLE
NAMES swig-1.3 swig
MESSAGE(STATUS "Writing spec file...")
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/libzypp-bindings.spec.cmake ${CMAKE_BINARY_DIR}/package/libzypp-bindings.spec @ONLY)
-
+# cmake likes unique target names
+SET(WRAP perl)
+
FIND_PACKAGE(Perl REQUIRED)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{cppflags}" OUTPUT_VARIABLE PERL_CXX_FLAGS)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
)
-ADD_CUSTOM_TARGET( glue
+ADD_CUSTOM_TARGET( ${WRAP}_glue
DEPENDS ${SWIG_OUTPUT}
)
-ADD_LIBRARY( zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
-SET_TARGET_PROPERTIES( zypp PROPERTIES PREFIX "" )
-ADD_DEPENDENCIES( zypp glue )
+ADD_LIBRARY( ${WRAP}_zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
+SET_TARGET_PROPERTIES( ${WRAP}_zypp PROPERTIES PREFIX "" )
+ADD_DEPENDENCIES( ${WRAP}_zypp ${WRAP}_glue )
INCLUDE_DIRECTORIES( ${PERL_LIB_PATH} )
INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
-TARGET_LINK_LIBRARIES( zypp ${ZYPP_LIBRARY} )
+TARGET_LINK_LIBRARIES( ${WRAP}_zypp ${ZYPP_LIBRARY} )
-INSTALL(TARGETS zypp LIBRARY DESTINATION ${PERL_INS_PATH})
+INSTALL(TARGETS ${WRAP}_zypp LIBRARY DESTINATION ${PERL_INS_PATH})
INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/zypp.pm DESTINATION ${PERL_INS_PATH})
+# cmake likes unique target names
+SET(WRAP python)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
)
-ADD_CUSTOM_TARGET( glue
+ADD_CUSTOM_TARGET( ${WRAP}_glue
DEPENDS ${SWIG_OUTPUT}
)
-ADD_LIBRARY( _zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
-SET_TARGET_PROPERTIES( _zypp PROPERTIES PREFIX "" )
-ADD_DEPENDENCIES( _zypp glue )
+ADD_LIBRARY( ${WRAP}_zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
+SET_TARGET_PROPERTIES( ${WRAP}_zypp PROPERTIES PREFIX "" )
+ADD_DEPENDENCIES( ${WRAP}_zypp ${WRAP}_glue )
INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
-TARGET_LINK_LIBRARIES( _zypp ${ZYPP_LIBRARY} )
+TARGET_LINK_LIBRARIES( ${WRAP}_zypp ${ZYPP_LIBRARY} )
-INSTALL(TARGETS _zypp LIBRARY DESTINATION ${PYTHON_LIB_PATH})
+INSTALL(TARGETS ${WRAP}_zypp LIBRARY DESTINATION ${PYTHON_LIB_PATH})
INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/zypp.py DESTINATION ${PYTHON_LIB_PATH})
+# cmake likes unique target names
+SET(WRAP ruby)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i ${CMAKE_CURRENT_SOURCE_DIR}/*.i
)
-ADD_CUSTOM_TARGET( glue
+ADD_CUSTOM_TARGET( ${WRAP}_glue
DEPENDS ${SWIG_OUTPUT}
)
-ADD_LIBRARY( zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
-SET_TARGET_PROPERTIES( zypp PROPERTIES PREFIX "" )
-ADD_DEPENDENCIES( zypp glue )
+ADD_LIBRARY( ${WRAP}_zypp SHARED "${CMAKE_CURRENT_BINARY_DIR}/zypp_wrap.cxx" )
+SET_TARGET_PROPERTIES( ${WRAP}_zypp PROPERTIES PREFIX "" )
+ADD_DEPENDENCIES( ${WRAP}_zypp ${WRAP}_glue )
INCLUDE_DIRECTORIES( ${RUBY_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${ZYPP_INCLUDE_DIR} )
-TARGET_LINK_LIBRARIES( zypp ${ZYPP_LIBRARY} )
-TARGET_LINK_LIBRARIES( zypp ${RUBY_LIBRARY} )
+TARGET_LINK_LIBRARIES( ${WRAP}_zypp ${ZYPP_LIBRARY} )
+TARGET_LINK_LIBRARIES( ${WRAP}_zypp ${RUBY_LIBRARY} )
-INSTALL(TARGETS zypp LIBRARY DESTINATION ${RUBY_VENDOR_ARCH_DIR})
+INSTALL(TARGETS ${WRAP}_zypp LIBRARY DESTINATION ${RUBY_VENDOR_ARCH_DIR})